Dockerイメージの保存

Dockerイメージの保存

Docker イメージを保存するために使用できるオプションは多数あります。

パブリックリポジトリ内のストレージ

公開されているパイプラインの場合、dockerhubが最も簡単なオプションです。Dockerhubでは、無料アカウントで無制限のパブリックリポジトリを使用でき、誰でもイメージをプルできます。

次のように dockerhubユーザーIDを使用して、既存のイメージをコピーし、名前を変更できます。

docker tag image_name:0.0.1 userID/image_name:0.0.1

そして、次のようにして dockerhub リポジトリにプッシュします。

docker push userID/image_name:0.0.1

プライベートリポジトリ内のストレージ

Docker イメージをプライベートに保存するには、AmazonのElastic Container Registry(ECR) をお勧めします。ECRは、次の 2 つのオプションがあります。

オプション1:

自分の aws アカウントにイメージを保存し、Basepair がリポジトリからイメージをプルできるように適切な IAM ポリシーを設定します。

オプション 2:

BasepairのECRにイメージを保存します:
ECR のプライベート リポジトリにイメージをプッシュできるように、適切な IAM ポリシーを設定します。

  • これを行うためには、まず Basepairチームのメンバーに連絡して、必要な aws 認証情報を共有します。
  • Basepair がリポジトリを作成したら、イメージをプッシュするために必要な情報を共有します。

*以下のコード例では、使用するために括弧 [] 内の値を変更する必要があります。

ステップ 1 : 共有した repositoryUri、使用するイメージ名、バージョン (「v0.0.1」) を含むタグを使用してイメージを構築します。

cd /path/to/your/project # this is where the Dockerfile is present
docker build -f Dockerfile -t [repositoryUri]:[image_name]-[v0.0.1] .

マシン上の既存のイメージをリストして、イメージが作成されたことを確認します。

docker image ls

ステップ 2 : Docker ログインで使用する一時的な Docker 認証情報を ECR から取得する

aws ecr get-login-password \
--region [region]  \
| docker login --username AWS \
--password-stdin [aws_id].dkr.ecr.[region].amazonaws.com

ステップ 3 : 共有した repositoryUri を使用してイメージを Basepair の ECR にプッシュします

docker push [repositoryUri]:[image_name]-[v0.0.1]