这可能是因为在主机上运行 ansible-playbook 时,环境变量和路径设置不同。
为了解决这个问题,可以尝试在 playbook 中添加适当的环境变量和路径设置。
以下是一个示例 playbook,演示如何设置正确的环境变量和路径,以确保在主机上和通过 ansible 运行时结果相同:
- name: Deploy Docker Compose file
hosts: myhost
become: yes
tasks:
- name: Set environment variables
environment:
PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
DOCKER_HOST: "unix:///var/run/docker.sock"
DOCKER_COMPOSE_VERSION: "1.28.6"
- name: Deploy Docker Compose file
docker_compose:
project_name: myproject
docker_compose_path: "/home/myuser/myproject/docker-compose.yml"
state: present
force_recreate: yes
此示例确保在 playbook 中设置正确的环境变量和路径,以确保在主机上和通过 ansible 运行时结果相同。