Ubuntu 22.04安装Ansible AWX执行安装Playbook时Docker Compose相关任务报错求助
我正在Ubuntu 22.04机器上部署Ansible AWX,运行安装Playbook命令 ansible-playbook -i inventory install.yml 时,遇到了Docker Compose相关任务的报错,具体报错信息如下:
TASK [local_docker : Remove AWX containers before migrating postgres so that the old postgres container does not get used] ***
task path: /opt/awx-17.0.1/installer/roles/local_docker/tasks/compose.yml:39
redirecting (type: modules) ansible.builtin.docker_compose to community.docker.docker_composeESTABLISH LOCAL CONNECTION FOR USER: root EXEC /bin/sh -c 'echo ~root && sleep 0' EXEC /bin/sh -c '( umask 77 && mkdir -p " echo /root/.ansible/tmp"&& mkdir "echo /root/.ansible/tmp/ansible-tmp-1718545879.5251415-55622-50488307772286" && echo ansible-tmp-1718545879.5251415-55622-50488307772286="echo /root/.ansible/tmp/ansible-tmp-1718545879.5251415-55622-50488307772286"'
可能的解决思路
我之前也碰到过类似的问题,给你几个排查方向试试:
检查Docker Compose模块和版本
报错里提到了把ansible.builtin.docker_compose重定向到community.docker.docker_compose,说明你的Ansible环境可能缺失这个社区模块。可以先通过命令安装:ansible-galaxy collection install community.docker另外也要确认本地Docker Compose版本是否符合AWX 17.0.1的要求,AWX 17.x一般需要Docker Compose 1.29+,用
docker-compose --version检查版本,过低的话就升级一下。手动清理旧容器和临时文件
这个任务的目的是移除旧容器避免冲突,可能之前的AWX容器没正常清理。你可以手动执行清理命令:docker-compose -f /opt/awx-17.0.1/installer/roles/local_docker/files/docker-compose.yml down -v rm -rf /root/.ansible/tmp/*清理完成后再重新运行安装Playbook。
检查Docker服务状态和权限
先确认Docker服务是否正常运行:systemctl status docker如果没启动就执行
systemctl start docker,并设置开机自启systemctl enable docker。另外虽然用root用户运行,但也要确认root能正常执行docker ps,确保Docker权限配置没问题。验证版本兼容性
AWX 17.0.1发布时间较早,Ubuntu 22.04相对较新,可能存在兼容性差异。如果上面的方法都无效,可以试试换成和Ubuntu 22.04更兼容的AWX版本(比如20.x系列),或者仔细核对AWX官方文档的系统依赖要求,确认所有前置依赖都安装齐全。
备注:内容来源于stack exchange,提问作者menap




