awsのECRとDockerを連携する方法
- 公開日:
- 更新日:
- 文字数:1835文字
awsがインストールされていることが前提。
——-
awsにプライベートリポジトリを作成
https://zenn.dev/hibriiiiidge/books/49ee4063b10cec1df1a2/viewer/710b27
——-
(1)—–
aws ecr get-login-password –region us-east-1 | docker login –username AWS –password-stdin 526983118746.dkr.ecr.us-east-1.amazonaws.com
—–
エラーが表示されます。
Unable to locate credentials. You can configure credentials by running "aws configure". Error: Cannot perform an interactive login from a non TTY device
aws configureの登録がされてないからです。
% aws configure listで(not set)登録されてないことがわかります。
configureの設定をしなければいけない 設定するもの
AWS Access Key AWS
Secret Access Key
Default region name
Default output format
———–
AWS Access Key IDとAWS Secret Access Keyの作成方法
https://console.aws.amazon.com/iamv2/home#/home
Default region nameはどこでも構いません。
東京の場合 ap-northeast-1
Default output formatはjsonで構いません。
json
登録するコマンド % aws configure 登録後(1)を実行します。
—
n error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:iam::526983118746:user/meigen_user is not authorized to perform: ecr:GetAuthorizationToken on resource: * because no identity-based policy allows the ecr:GetAuthorizationToken action
上記エラーが出た場合
アクセス権限がうまくいってないです。
AWSAppRunnerServicePolicyForECRAccess
へのアクセス許可を追加してください。
AmazonEC2ContainerRegistryFullAccess
AmazonEC2ContainerServiceFullAccess
—
Login Succeededで完了
Dockerイメージの構築
docker build -t リポジトリ名 .
docker tag リポジトリ名 :latest 000000.dkr.ecr.us-east-1.amazonaws.com/name_ecr:latest
docker push 000000.dkr.ecr.us-east-1.amazonaws.com/name_ecr:latest
docker push してもeofでエラーも何も出ずにpublishできない場合
「AmazonEC2ContainerServiceFullAccess」の権限がないためです。
参考
https://zenn.dev/hibriiiiidge/books/49ee4063b10cec1df1a2/viewer/710b27
