Ansible and docker-compose pull / up -d



我正在尝试运行这些命令:

docker-compose pull
docker-compose up -d
docker-compose -f other_file.yaml pull
docker-compose -f other_file.yaml up -d

下面是我的Ansible代码:

- name: Run docker-compose
docker_compose:
project_src: {{ my_project_path }}
files:
- docker-compose.yaml
- other_file.yaml

我得到下面的错误

Failed to import the required Python library (Docker SDK for Python: docker (Python >= 2.7) or docker-py (Python 2.6)) on managed's Python /usr/bin/python3.
Please read module documentation and install in the appropriate location.
If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter, for example via `pip install docker` or `pip install docker-py` (Python 2.6).
The error was: No module named 'docker'

事实是python解释器在ansible.cfg中设置为/usr/bin/python3,这是好的。安装的python3版本为3.6.9,python模块"docker"安装。

你知道这个错误是从哪里来的吗?一直在看文档,其他人发了一整天。

谢谢!

终于明白问题发生的原因了。

我正在安装与pip3 install <lib>的python库,事实是,如果你使用sudo在Ansible中运行一些模块,它将不起作用,因为sudo pip3pip3不同。

这么快的解决方案?sudo pip3 install docker docker-compose

最新更新