我将使用Ansible playbooks在AWS上配置基础设施。我已经有了实例,可以提供docker-engine、docker-py等服务。昨天这些服务能够正常运行,但自那时以来我没有更改代码。
我的playbook的相关部分如下:
然而,正如之前所提到的,这在昨晚仍然能够正常工作。自那时以来,我进行了一些VPC/subnet更改,但我仍能够通过ssh连接到实例,并使用
经过搜索,我没有找到其他遇到相同错误的人,因此我想知道发生了什么变化,并如何解决该问题!谢谢!
编辑:版本:
我的playbook的相关部分如下:
- 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/subnet更改,但我仍能够通过ssh连接到实例,并使用
docker pull my-acct-id.dkr.ecr.us-east-1.amazonaws.com/example
命令进行运行,并且没有出现任何问题。经过搜索,我没有找到其他遇到相同错误的人,因此我想知道发生了什么变化,并如何解决该问题!谢谢!
编辑:版本:
- ansible - 2.2.0.0
- docker - 1.12.3 6b644ec
- docker-py - 1.10.6