2016-11-30 10 views
5

Я пытаюсь предоставить свою инфраструктуру на AWS, используя Ansible playbooks. У меня есть экземпляр, и я могу предоставить докер-движок, docker-py и т. Д., И, клянусь, вчера это работало правильно, и с тех пор я не изменил код.Ansible docker_container 'no Host in request URL', docker pull работает правильно

Соответствующая часть моего сборника пьес является:

- 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 без проблем.

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

EDIT: Версии:

  • анзибль - 2.2.0.0
  • докер - 1.12.3 6b644ec
  • Докер-ру - 1.10.6
+1

Имея ту же проблему. Он работал сегодня утром для меня, и я ничего не изменил. Я открыл ошибку: https://github.com/ansible/ansible-modules-core/issues/5775 –

+0

Я также вижу это при доступе к частным и публичным реестрам Docker. Это, безусловно, голова. – user1836542

ответ

3

У меня была такая же проблема. Снижение докеры-компоновки пика на этом хост-компьютере с 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 
+0

Это сработало для меня. Странно, похоже, что 1.9.0 был выпущен пару недель назад. –

+0

Это тоже сработало для меня, хотя я думаю, что здесь большая проблема, и мы советуем следить за проблемой GitHub, связанной с вышеперечисленным davey_dev. –