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]