概要
Amazon ECR
に Docker Image
をプッシュするとき、
以下のような認証エラーが発生しました。
denied: Your authorization token has expired. Reauthenticate and try again.
この記事では、このエラーの原因と対処法について説明します。
原因
このエラーは、Amazon ECR
への認証トークンが有効期限切れになっているために発生します。AWS CLI
を使用して取得する認証トークンは、12時間の有効期限があります。長時間セッションを開いたままにしていると、このトークンが期限切れになり、ECR
にアクセスできなくなります。
対処法
認証トークンを再取得して、Docker
に再ログインすることでこの問題を解決できます。以下の手順を実行します。
1. 認証トークンの再取得
AWS CLI
を使用して、新しい認証トークンを取得します。
aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.ap-northeast-1.amazonaws.com
2. Docker
にログイン
上記コマンドにより、Docker
に再ログインされます。これで、ECR
へのプッシュ操作を再試行することができます。
まとめ
Amazon ECR
への Docker Image
のプッシュ時に発生する認証エラーは、認証トークンの期限切れが主な原因です。AWS CLI
を使用して新しい認証トークンを取得し、Docker
に再ログインすることで解決できます。