0

我正在尝试使用 ansible 构建一个运行 docker 容器的服务器,但我收到了错误消息Failed to import the required Python library (Docker SDK for Python: docker (Python >= 2.7) or docker-py (Python 2.6)) on ubuntu-xenial's Python /usr/bin/python3

目标机器是 ubuntu xenial,目前处于 vagrant 状态,但我在 Azure VM 上遇到了同样的错误。我的 ansible 版本是 2.9.15,安装的 docker 版本 ansible 是 20.10.1。

我的测试库存文件包括

all:
  vars:
    ansible_user: vagrant
    ansible_become: yes
    ansible_python_interpreter: /usr/bin/python3
  children:
    a_servers:
      hosts:
        192.168.33.100
    b_servers:
      hosts:
        192.168.33.100
    prod:
      hosts:
        192.168.33.100

我的剧本的相关部分是:

- name: Docker role
  include_role:
    name: nickjj.docker
  vars:
    docker__users: ['deploy']
    docker_registries:
      - #registry_url: "https://index.docker.io/v1/"
        username: "{{ docker_user.username }}"
        password: "{{ docker_user.password }}"
- name: Log in to docker
  docker_login:
    username: "{{ docker_user.username }}"
    password: "{{ docker_user.password }}"
  become: yes
  become_user: deploy

当我以用户 deploy 登录 vagrant box 时,我可以运行docker login并且docker-compose up -d没有任何问题。我也可以/usr/bin/python3毫无问题地运行和导入 docker。

系统上没有其他python。

错误来自docker_login资源,似乎无法导入 docker。

是我缺少的配置,还是我忽略的其他会导致它失败的配置?任何帮助深表感谢。

4

0 回答 0