はじめに
(当時)Docker HubのPull数制限に引っ掛かることが原因で、テスト用環境へのデプロイに失敗するという事象に遭遇しました
問題点
- 制限に引っかかるとデプロイが出来なくなる等様々な不都合が生じる(特に本番デプロイであれば致命的)
- Pull数制限について今後どうなっていくかも当時不明瞭という状況であった
今回の対処法
必要なimageを都度Docker Hubから取得するのではなく、ECR上のプライベートリポジトリ上に設置しておき、そちらを参照するという形をとりました。
ECR上にプライベートリポジトリを作成する
Docker Hubからのpull及びECRへのpush
AWS CLIを利用して、以下のような流れで実施することが出来ました。
# Docker Hubからローカルにimageを持ってくる
docker pull node:18.18.0
# ECRにログインする
aws ecr get-login-password --region ap-northeast-1 --profile test_aws_profile | docker login --username AWS --password-stdin XXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com
# Docker Hubから持ってきたimageに、ECR用のタグをつける
docker tag node:18.18.0 XXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com/node:18.18.0
# ECRにpushする
docker push XXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com/node:18.18.0
ECRを確認したところ...お目当ての18.18.0
が出現しています🍀
おわりに
ECRへのログインやpush手順などは他の場面でも活用出来ていますので、この機に学べてよかったと感じています。
参考にさせていただいた記事など