DTI*_*att 5 provisioning amazon-web-services ansible docker dockerpy
我正在尝试使用Ansible playbooks在AWS上配置我的基础架构.我有实例,并且能够提供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
Run Code Online (Sandbox Code Playgroud)
我的目标{{ 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"
Run Code Online (Sandbox Code Playgroud)
然而,正如前面提到的,昨晚这种方式正常.从那时起,我做了一些VPC /子网更改,但我能够ssh到实例,并运行docker pull my-acct-id.dkr.ecr.us-east-1.amazonaws.com/example没有问题.
谷歌搜索引导我不远,因为我似乎无法找到其他人有同样的错误.我想知道改变了什么,以及如何解决它!谢谢!
编辑:版本:
我有同样的问题。将该主机上的 docker-compose pip 映像从 1.9.0 降级到 1.8.1 解决了该问题。
- name: Install docker-compose
pip: name=docker-compose version=1.8.1
Run Code Online (Sandbox Code Playgroud)
根据此线程: https: //github.com/ansible/ansible-modules-core/issues/5775,真正的罪魁祸首是请求。这修复了它:
- name: fix requests
pip: name=requests version=2.12.1 state=forcereinstall
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
647 次 |
| 最近记录: |