Docker API 版本 Docker 登陆 CentOS 7

Docker API version with Docker login in CentOS 7

我在启动 Ansible 角色以在 CentOS 7 VM 中安装 Docker 时遇到问题。

docker-login 任务运行时出现以下错误:

"msg": "Docker API Error: client is newer than server (client API version: 1.24, server API version: 1.22)"

这是 Ansible 角色:

-   name: Install python setup tools
yum: name=python-setuptools
tags: docker

-   name: Install Pypi
easy_install: name=pip
tags: docker

-   name: Install docker-py
pip: name=docker-py
tags: docker

-   name: Install Docker
yum: name=docker state=latest
tags: docker

-   name: Make sure Docker is running
service: name=docker state=running
tags: docker

-   include: setup.yml

-   name: login to private Docker remote registry and force reauthentification
docker_login:
  registry: "{{ item.insecure_registry }}"
  username: "{{ item.registry_user }}"
  password: "{{ item.registry_password }}"
  reauth: yes
with_items:
  - "{{private_docker_registry}}"
when: private_docker_registry is defined

这将安装 docker 1.10.3 版本和 API 版本 1.22。

api_version 参数添加到 docker-login 模块:

- name: login to private Docker remote registry and force reauthentification
  docker_login:
    registry: "{{ item.insecure_registry }}"
    username: "{{ item.registry_user }}"
    password: "{{ item.registry_password }}"
    reauth: yes
    api_version: 1.22
  with_items:
    - "{{private_docker_registry}}"
  when: private_docker_registry is defined