
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
⚠️ 仅用于本地开发/演示(生产环境请使用AWX Operator)
本镜像基于AWX 23.9.0版本,镜像使用流程与上游tools/docker-compose保持一致,固定了自定义镜像版本,并修复了常见的collectstatic/uWSGI崩溃循环问题(导致502/404错误)。同时包含关键AWX初始化命令(clean-ui、ui-devel、createsuperuser、create_preload_data),方便快速搭建本地开发或演示环境。
collectstatic执行失败导致的uWSGI崩溃问题,解决502/404错误docker compose version命令)确保已安装Docker和Docker Compose插件:
bashdocker --version docker compose version
bashmkdir -p /opt/awx && cd /opt/awx git clone https://github.com/ansible/awx.git cd awx git checkout 23.9.0 cd tools/docker-compose/_sources pwd # 确认路径:/opt/awx/awx/tools/docker-compose/_sources ls -1 # 应显示:docker-compose.yml、nginx.conf、nginx.locations.conf、SECRET_KEY、websocket_secret.py、database.py等文件
若SECRET_KEY或websocket_secret.py文件缺失,需手动创建(本地开发可填写任意非空随机字符串)。
修改docker-compose.yml文件,将AWX镜像指定为afsharidevops/awx:23.9.0:
bashsed -i 's|\(image:\s*\).*awx:.*|\1afsharidevops/awx:23.9.0|' docker-compose.yml
(可选)添加默认管理员 credentials(若配置中不存在):
bashawk ' BEGIN{p=1} /services:/ {print; next} /awx:/ && p {print; getline; print " environment:"; print " AWX_ADMIN_USER: admin"; print " AWX_ADMIN_PASSWORD: changeme"; p=0} {print} ' docker-compose.yml > docker-compose.yml.new && mv docker-compose.yml.new docker-compose.yml
bashdocker compose pull # 拉取镜像 docker compose up -d # 后台启动服务 docker compose logs -f awx # 查看awx容器日志,确认启动状态
待容器(tools_awx_1)运行后,执行以下初始化命令:
重建AWX UI资产(确保前端正常加载)
bashdocker exec tools_awx_1 make clean-ui ui-devel
创建管理员超级用户(交互式)
bashdocker exec -ti tools_awx_1 awx-manage createsuperuser
预加载默认组织、项目和 inventory
bashdocker exec tools_awx_1 awx-manage create_preload_data
打开浏览器访问 https://<主机IP>:8043(接受自签名证书)。
使用创建的超级用户凭据登录。若已配置环境变量,默认凭据为:admin / changeme。
健康检查命令:
bash# 本地访问检查 curl -k https://localhost:8043/api/v2/ping/ # 容器内服务检查 docker compose exec awx bash -lc 'curl -sS -i http://127.0.0.1:8050/api/v2/ping/ || true'
以下卷用于持久化数据:
pgdataredisdataawx_projects → 映射至容器内/var/lib/awx/projectsawx_data → 映射至容器内/var/lib/awxawx_static → 映射至容器内/var/lib/awx/public/static备份示例(以pgdata为例):
bashdocker compose stop awx # 停止awx服务 # 备份pgdata卷数据至当前目录 docker run --rm -v pgdata:/from -v "$(pwd)":/to alpine sh -c 'cd /from && tar czf /to/pgdata.tgz .' docker compose start awx # 启动awx服务
bash# 查看服务状态 docker compose ps # 实时查看awx日志 docker compose logs -f awx # 重启awx服务 docker compose restart awx
升级镜像(未来版本):
bash# 修改镜像标签为新版本 sed -i 's|afsharidevops/awx:23.9.0|afsharidevops/awx:<新版本标签>|' docker-compose.yml # 拉取新镜像并重启服务 docker compose pull awx && docker compose up -d
症状
supervisorctl status显示:tower-processes:awx-uwsgi FATAL/var/log/nginx/error.log日志包含:no live upstreams或connect() failed (111)根本原因
supervisor执行目标命令时会运行:python3.9 manage.py collectstatic --clear --noinput
若该命令失败(如解释器错误、Django缺失等),uWSGI会崩溃,导致Nginx返回502/404错误。
修复流程(容器内操作)
bashdocker compose exec awx bash # 进入容器 supervisorctl status # 查看服务状态 tail -n 200 /var/log/nginx/error.log || true # 查看Nginx错误日志 # 手动执行collectstatic python3.9 manage.py collectstatic --clear --noinput
预期输出:"121 static files copied to '/var/lib/awx/public/static'."
bash# 重启uWSGI服务 supervisorctl restart tower-processes:awx-uwsgi # 检查uWSGI是否监听8050端口 ss -ltnp | grep 8050 || echo "uWSGI not listening yet" # 检查服务健康状态 curl -sS -i http://127.0.0.1:8050/api/v2/ping/ || echo "ping failed"
若8050端口被占用/卡住:
bashsupervisorctl stop tower-processes:awx-uwsgi || true # 停止uWSGI pkill -9 -f 'uwsgi.*tower/uwsgi.ini' || true # 强制终止uWSGI进程 pkill -9 -x uwsgi || true # 强制终止残留uWSGI进程 supervisorctl start tower-processes:awx-uwsgi # 启动uWSGI
仍失败?
/var/lib/awx/public/static目录可写且已映射至awx_static卷bashdocker compose logs awx | tail -n 300 # 容器日志 tail -n 200 /var/log/nginx/error.log # Nginx错误日志
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




来自真实用户的反馈,见证轩辕镜像的优质服务