aws ecrでloginが成功したのにimageをpushしてもEOFになる場合があったのでメモ。これは単純に違うアカウント、ユーザーとしてpushしているから。push先のアカウントが異なる場合に発生する可能性があると思われる。
aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin 【アカウントID】.dkr.ecr.ap-northeast-1.amazonaws.com
ローカル環境からterminalでpushするとき、明示的にregionやユーザーを指定しないと[default]ユーザーとしてログインする。 設定は以下ファイルを見てみると[default]ユーザーがいるはず。(おそらく初回ログイン時なのか、自分で過去設定したかは不明)
~/.aws/credentials
~/.aws/credentials
[default]
aws_access_key_id = xxxxxx
aws_secret_access_key = xxxxxx
このユーザーとしてログインしてしまっているので指定したいユーザーを書く。
~/.aws/credentials
[default]
aws_access_key_id = xxxxxx
aws_secret_access_key = xxxxxx
[onody00]
aws_access_key_id = xxxxxx
aws_secret_access_key = xxxxxx
で、ログインするときに--profile onody00
を指定してあげれば、そのユーザーでログインできる
aws ecr get-login-password --region ap-northeast-1 --profile onody00 | docker login --username AWS --password-stdin 【アカウントID】.dkr.ecr.ap-northeast-1.amazonaws.com
ちゃんとイメージのpushもうまくいった。