
本镜像为Awstats的一体化Docker解决方案,用于多域名的定时日志处理,配置简单且可通过内置网页访问统计结果。镜像旨在最小化主机依赖,支持自包含的日志分析流程,适合需要集中管理多个网站访问统计的场景。
aw-update.sh脚本,一键更新所有站点统计AWSTATS_PATH_PREFIX环境变量配置子路径前缀容器内部依赖以下目录结构:
/etc/awstats/sites/:存放站点配置文件,支持两种格式
.env文件:简易变量配置(推荐).conf文件:完整awstats配置(高级需求)/var/local/log/:存放日志文件(可通过配置自定义路径/文件名)/var/lib/awstats/:awstats数据存储目录(需持久化,建议映射为Docker卷)awstats数据存储在/var/lib/awstats/,为避免容器重启后数据丢失,需将此目录映射为持久卷:
bash# 示例:使用本地目录作为持久卷 docker run -v /host/path/to/awstats-data:/var/lib/awstats ...
Docker Run命令
bashdocker run -d \ -p 8080:80 \ -v /host/logs:/var/local/log \ -v /host/awstats-sites:/etc/awstats/sites \ -v /host/awstats-data:/var/lib/awstats \ --name awstats \ justb4/awstats
Docker Compose配置
yaml# docker-compose.yml示例 version: '3' services: awstats: image: justb4/awstats ports: - "8080:80" volumes: - ./logs:/var/local/log - ./awstats-sites:/etc/awstats/sites - awstats-data:/var/lib/awstats environment: - AWSTATS_PATH_PREFIX=/awstats # 可选,配置反向代理子路径 volumes: awstats-data:
使用.env文件(简易配置)
在/etc/awstats/sites/目录下创建example.com.env:
iniSITE_DOMAIN=example.com LOG_FILE=/var/local/log/example.com-access.log SITE_ALIAS=www.example.com
使用.conf文件(完整配置)
在/etc/awstats/sites/目录下创建example.com.conf,内容遵循awstats配置规范:
confLogFile="/var/local/log/example.com-access.log" SiteDomain="example.com" HostAliases="www.example.com"
Awstats仅处理日志中比最新已知记录更新的行,因此需按时间顺序从旧到新处理历史日志。处理前建议清除已有数据:
bashdocker exec -it awstats rm /var/lib/awstats/*
批量处理历史日志脚本示例
bash#!/bin/bash # 处理压缩的历史Apache日志(从.log.60到.log.2) LOGDIR="/var/local/log" LOGNAME="access.log" END=60 # 从60到2反向循环处理 for i in $(seq $END -1 2) do logFile="${LOGDIR}/${LOGNAME}.${i}" echo "处理日志: ${logFile}" docker exec -it awstats gunzip ${logFile}.gz docker exec -it awstats awstats -config=example.com -update -LogFile="${logFile}" docker exec -it awstats gzip ${logFile} done # 处理未压缩的最近日志 docker exec -it awstats awstats -config=example.com -update -LogFile="${LOGDIR}/${LOGNAME}.1" docker exec -it awstats awstats -config=example.com -update -LogFile="${LOGDIR}/${LOGNAME}"
本镜像基于debian-slim(buster版本)构建,旨在实现高度自包含:
supervisord管理服务进程:
aw-setup.sh:初始化配置本Docker镜像基于https://github.com/pabra/docker_awstats%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E5%8E%9F%E9%A1%B9%E7%9B%AE%E4%BD%BF%E7%94%A8Alpine Linux。因GeoIP、bash脚本等高级特性需求,本镜像改为基于debian-slim构建。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务