Ansible docker_container "Нет хоста в URL запроса", docker pull работает правильно

Я пытаюсь подготовить свою инфраструктуру в AWS с помощью Ansible playbooks. У меня есть экземпляр, и я могу предоставить docker-engine, docker-py и т. Д., И, клянусь, вчера это работало правильно, и с тех пор я не менял код.

Соответствующая часть моей пьесы:

- name: Ensure AWS CLI is available
  pip:
    name: awscli
    state: present
  when: aws_deploy
- block:
  - name: Add .boto file with AWS credentials.
    copy:
      content: "{{ boto_file }}"
      dest: ~/.boto
    when: aws_deploy
  - name: Log in to docker registry.
    shell: "$(aws ecr get-login --region us-east-1)"
    when: aws_deploy
  - name: Remove .boto file with AWS credentials.
    file:
      path: ~/.boto
      state: absent
    when: aws_deploy
  - name: Create docker network
    docker_network:
      name: my-net
  - name: Start Container
    docker_container:
      name: example
      image: "{{ docker_registry }}/example"
      pull: true
      restart: true
      network_mode: host
      volumes:
        - /etc/localtime:/etc/localtime:ro
        - /etc/timezone:/etc/timezone

мой {{ docker_registry }} установлен в my-acct-id.dkr.ecr.us-east-1.amazonaws.com и результат, который я получаю:

"msg": "Error pulling my-acct-id.dkr.ecr.us-east-1.amazonaws.com/example - code: None message: Get http://: http: no Host in request URL"

Однако, как уже упоминалось, это работало правильно прошлой ночью. С тех пор я сделал некоторые изменения VPC/ подсети, но я могу ssh к экземпляру и запустить docker pull my-acct-id.dkr.ecr.us-east-1.amazonaws.com/example без проблем.

Поиск в Google привел меня не очень далеко, так как я не могу найти других людей с такой же ошибкой. Мне интересно, что изменилось, и как я могу это исправить! Спасибо!

РЕДАКТИРОВАТЬ: Версии:

  • ansible - 2.2.0.0
  • докер - 1.12.3 6b644ec
  • docker-py - 1.10.6

1 ответ

У меня такая же проблема. Понижение образа pip docker-compose на этом хост-компьютере с 1.9.0 до 1.8.1 решило проблему.

- name: Install docker-compose
  pip: name=docker-compose version=1.8.1

По этой теме: https://github.com/ansible/ansible-modules-core/issues/5775, настоящий виновник - это запросы. Это исправляет это:

  - name: fix requests
    pip: name=requests version=2.12.1 state=forcereinstall
Другие вопросы по тегам