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的误导性指令中提供错误.
我在尝试运行时遇到了相同的错误消息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验证。
| 归档时间: |
|
| 查看次数: |
7726 次 |
| 最近记录: |