31

AWS ECR を試し、新しいタグをプライベート リポジトリにプッシュしています。

こんなふうになります:

export DOCKER_REGISTRY=0123123123123.dkr.ecr.us-east-1.amazonaws.com
export TAG=0.1
docker build -t vendor/app-name .
`aws ecr get-login --region us-east-1`" # generates docker login
docker tag vendor/app-name $DOCKER_REGISTRY/vendor/app-name:$TAG
docker push $DOCKER_REGISTRY/vendor/app-name:$TAG

ログインは機能し、タグが作成され、 で表示されdocker imagesますが、プッシュは不可解に失敗します。

The push refers to a repository [0123123123123.dkr.ecr.us-east-1.amazonaws.com/vendor/app-name] (len: 2)
b1a1d76b9e52: Pushing [==================================================>]     32 B/32 B
Error parsing HTTP response: unexpected end of JSON input: ""

構成が間違っている可能性は十分にありますが、出力を増やす方法がわかりません。このコマンドにはデバッグ レベルのオプションがなく、他のログはなく、暗号化されているように見えるため、ネットワーク トラフィックを傍受できません。

4

3 に答える 3

61

同じ問題に遭遇しました。私にとっては、私がプッシュしていた IAM ユーザーがecr:BatchCheckLayerAvailability権限を持っていることを確認して、これをクリアしました。

私はもともと「プッシュのみ」のポリシーを持つつもりでしたが、プッシュを成功させるにはこの許可が必要であることに気づきませんでした。

于 2015-12-22T21:59:49.503 に答える