参考ページ

https://dev.classmethod.jp/articles/push-docker-image-to-ecr-with-cli/

https://y-ohgi.com/introduction-terraform/laravel/ecr/

ECR操作 aws cli

リポジトリのimage一覧aws ecr list-images --repository-name myspring

ECR 属性

タグのイミュータビリティ同じタグ名で上書きできなくする場合はtrue
プッシュ時にスキャンPUSH時に脆弱性チェックをしてくれる。無料らしいのでtrueにすべし

ECR 作成

aws ecr create-repository --repository-name test-ecr --region=ap-northeast-1
aws ecr describe-repositories --query 'repositories[].repositoryName'

ECRログイン

export AWS_ACCOUNT_ID=`aws sts get-caller-identity | jq -r '.Account'`
export AWS_REGION=ap-northeast-1
# profile xxx を使ってログインパスワード表示。AWSのログインコマンドはBrokenPipeで失敗する。
aws ecr get-login-password --profile xxx
# どこにログインしているのか確認
jq -r < "${HOME}/.docker/config.json" '.auths | keys[]'
docker login -u AWS -p 上記の出力 https://リポジトリID.dkr.ecr.ap-northeast-1.amazonaws.com
aws ecr get-login-password --region ${AWS_REGION} | docker login --username AWS --password-stdin ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com

試しにDocker imageを作成してupload

<%php phpinfo(); %>
FROM php:7-apache
COPY phpinfo.php /var/www/html
docker run  -p 80:80 -e hoge=hogehoge -e fuga=mogefuga --name myphp myphp

ログイン

aws ecr get-login-password --profile xxxx

タグ付けしてpush

docker tag myphp:latest xxx.dkr.ecr.ap-northeast-1.amazonaws.com/test-ecr:latest
docker push 699567825067.dkr.ecr.ap-northeast-1.amazonaws.com/test-ecr:latest

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-08-08 (火) 15:52:29