AWS-ECRでプライベートなDockerイメージを管理する[AWS-ECR]
会社で研究をしていると社外へは決して出してはいけないコンテナを作ってしまうことがある.
世の中には,作成したコンテナをイメージ化して共有するDocker Hubなるサービスがある.しかし,Docker Hubは基本的にオープンなサービスなので,社秘のコンテナをアップするなどしたら,情報インシデント事故に発展してしまい,最悪クビになってしまう.
それでもコンテナをクラウドで管理したい… そんな方におすすめなのがAWS-ECRである.ECRとはElastic Container Registry (ECR)の略で,AWSが提供するDockerコンテナレジストリなのである.ECRは,プライベートなので社秘のコンテナを扱うのには非常に都合後良いのだ.
本記事では,AWS ECRにDockerイメージをPushする方法と,ローカル環境にDockerイメージをPullする方法を紹介する.
AWS ECRでリポジトリを作成
まずはAWSマネジメントコンソールでリポジトリを立てるため,以下に移動.
上の画面の右上,「リポジトリの作成」ボタンを押し,任意の名前を入力し,リポジトリを作成.
AWS CLIでECRにログイン
Dockerイメージがあるローカル環境で以下のコマンドを実行する.--region
の引数は設定によって変化する可能性があるので,リポジトリ作成後に「プッシュボタンの表示」ボタンを押して表示されるコマンドに沿って入力することをオススメする.
aws ecr get-login --no-include-email --region ap-northeast-1
コマンドを実行すると暗号のような出力が返ってくる.出力の正体は,ログインコマンドである.
上の出力をコピペして実行し,AWS-ECRにログインする.
Dockerイメージにタグを付ける
ログイン後,AWS-ECRにpushするための呪文のようなコマンドを打つ.
docker tag ${YOUR_IMAGE}:latest ************.dkr.ecr.us-east-1.amazonaws.com/${YOUR_IMAGE}:latest
AWS-ECRにDockerイメージをpushする
いよいよAWS-ECRにDockerイメージをpush
docker push ************.dkr.ecr.ap-northeast-1.amazonaws.com/${YOUR_IMAGE}:latest
以上でAWS-ECRへのpushが完了.
こんな簡単にできるとは思わなかったので,びっくりした.しかも,Dockerイメージをそのままpushできるのでバージョン管理も容易にできそうだ.AWS-ECRが無かったらdocker saveでtarファイルにしてファイルサーバーに保管するという前時代的な管理を選択せざるおえないので,あってよかった.
AWS-ECRに存在するイメージをpullする
注意事項
Dockerイメージのレイヤーサイズが10Gを越えるとエラーがでる.詳しくは下記ページを参照.
Amazon ECR サービス制限 – Amazon ECR
ディスカッション
コメント一覧
まだ、コメントがありません