我正在尝试运行这些命令:
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 pip3
与pip3
不同。
这么快的解决方案?sudo pip3 install docker docker-compose