私は、Ansibleプレイブックを使用してAWSにインフラストラクチャをプロビジョニングしようとしています。私はインスタンスを持っていて、docker-engine、docker-pyなどをプロビジョニングすることができます。昨日、これは正しく機能し、以来、コードを変更していません。 {{ docker_registry }}
がmy-acct-id.dkr.ecr.us-east-1.amazonaws.com
に設定されているマイ可能なdocker_container 'リクエストURLのホストがありません'、ドッカーのプルが正しく動作します
- 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
と私は取得していた結果は次のとおりです:
私の脚本の関連部分は、上述したよう
"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
を実行できます。
グーグルリングは、同じエラーで他の人を見つけることができないほど遠くに私を導いてくれませんでした。私は何が変わったのか、それをどうやって修正できるのだろうと思っています!ありがとう!
EDIT:バージョン:
- ansible - 2.2.0.0
- ドッカ -
- ドッキングウィンドウ-PY 6b644ec 1.12.3 - 1.10.6
まったく同じ問題があります。今朝は私のために働いていて、何も変えていません。私はバグをオープンしました:https://github.com/ansible/ansible-modules-core/issues/5775 –
私はDockerのプライベートとパブリックの両方のレジストリにアクセスする際にもこれを見ています。それは確かに頭の掻爬者です。 – user1836542