AWX Docker Compose部署失败:8080端口被占用,需修改AWX端口
解决AWX Docker容器端口冲突问题(8080被Jenkins占用)
背景说明
- AWX:Ansible官方提供的Web管理界面与API服务,可可视化管理Ansible任务、主机、剧本等,Docker部署是快速搭建的常用方式。
- Docker Compose:用于定义和运行多容器Docker应用的工具,通过YAML文件统一配置所有关联服务,实现一键启停。
- 端口映射:Docker容器内部服务端口需要与宿主机端口绑定,外部才能通过宿主机访问容器服务。AWX默认将容器内的8052端口映射到宿主机8080端口,这与Jenkins默认占用的8080端口产生冲突。
- Jenkins运行方式:是的,Jenkins默认以守护进程(后台服务)形式运行,会持续占用配置的端口。
修改AWX Docker端口的步骤
- 定位AWX的Docker Compose配置文件,路径为你执行命令中的
tools/docker-compose/_sources/docker-compose.yml - 打开该文件,找到
awx服务下的ports配置段,默认内容如下:
格式说明:ports: - "8080:8052"宿主机端口:容器内部端口。其中8052是AWX容器内部固定的服务端口,不可修改;只需修改前面的宿主机端口,比如改成未被占用的8081端口:ports: - "8081:8052" - 保存配置文件后,先清理之前的容器(避免残留状态影响):
docker-compose -f tools/docker-compose/_sources/docker-compose.yml down - 重新启动AWX服务:
docker-compose -f tools/docker-compose/_sources/docker-compose.yml up --remove-orphans - 验证访问:之后可通过
http://你的宿主机IP:8081访问AWX的Web界面。
额外验证
修改前可先确认目标端口是否空闲,比如检查8081端口:
sudo netstat -pna | grep 8081
如果没有输出,说明端口未被占用,可放心使用。
内容的提问来源于stack exchange,提问作者Skegg
相关产品推荐
相关产品推荐

