无法在ansible playbook中运行docker compose

Kon*_*262 8 ansible docker-compose

我似乎无法在ansible playbook中运行docker compose任务.我陷入了困境.

运行时遇到的第一个错误sudo ansible-playbook playbook.yml如下

fatal: [10.0.3.5]: FAILED! => {"changed": false, "msg": "Unable to load docker-compose. Try `pip install docker-compose`. Error: No module named compose"}
Run Code Online (Sandbox Code Playgroud)

所以我远程sudo pip install docker-compose到那台机器,并尝试再次运行剧本.这次我得到......

fatal: [10.0.3.5]: FAILED! => {"changed": false, "msg": "Cannot have both the docker-py and docker python modules installed together as they use the same namespace and cause a corrupt installation. Please uninstall both packages, and re-install only the docker-py or docker python module"}
Run Code Online (Sandbox Code Playgroud)

所以我尝试卸载docker python ...

  • sudo uninstall docker python

然后,当我再次尝试运行剧本时,我得到以下内容

fatal: [10.0.3.5]: FAILED! => {"changed": false, "msg": "Failed to import docker-py - No module named docker. Try `pip install docker-py`"}
Run Code Online (Sandbox Code Playgroud)

然而,这已经安装在机器上,因为当我运行时,sudo pip install docker-py我看到以下内容......

Requirement already satisfied (use --upgrade to upgrade): docker-py in /usr/local/lib/python2.7/dist-packages
Cleaning up...
Run Code Online (Sandbox Code Playgroud)

有谁知道如何逃避这个循环并成功获得一个使用docker-compose运行的ansible playbook?

机器os是linux 14.04

谢谢,

The*_*tat 14

对我有用的是首先卸载在Ansible的virtualenv中相关的所有docker.

pip uninstall docker docker-py docker-compose

然后安装docker-compose模块,它将安装docker模块以及依赖项.

pip install docker-compose

Ansible docker模块将尝试import docker使用该docker模块,并且因此不会在安装docker-py的误导性指令中提供错误.


Paw*_*ski 6

我在尝试运行时遇到了相同的错误消息sudo ansible playbook-with-docker.yaml

{"changed": false, "msg": "Unable to load docker-compose. Try `pip install docker-compose`. Error: No module named compose"}
Run Code Online (Sandbox Code Playgroud)

我花了大约 2 个小时才弄清楚在 Linux 中pip install是不一样的sudo pip install(非常明显,一旦你知道发生了什么)。

因此,如果有人遇到同样的问题 - 确保您正在运行所有内容,无论sudo是否一致sudo,但不要混合使用:)

...并用于sudo pip list | grep docker验证。