
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像为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构建。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务