「Docker イメージを Amazon ' ECRサンプルに公開して Docker Hub にプッシュする」 - AWS CodeBuild

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

「Docker イメージを Amazon ' ECRサンプルに公開して Docker Hub にプッシュする」

「Docker イメージを Amazon に公開するECR」サンプルに適応させて、Docker イメージが Amazon ではなく Docker Hub にプッシュされるようにするにはECR、サンプルのコードを編集します。サンプルの詳細については、の「Docker イメージを Amazon ECRイメージリポジトリに公開する」サンプル CodeBuild「」および「」を参照してください「Docker イメージを Amazon に公開するECR」サンプルを実行する

注記

使用している Docker のバージョンが 17.06 より前のものである場合は、--no-include-email オプションを削除します。

  1. buildspec.yml ファイル内の Amazon ECR固有のコード行を置き換えます。

    ... pre_build: commands: - echo Logging in to Amazon ECR... - aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com build: commands: - echo Build started on `date` - echo Building the Docker image... - docker build -t $IMAGE_REPO_NAME:$IMAGE_TAG . - docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG post_build: commands: - echo Build completed on `date` - echo Pushing the Docker image... - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG ...

    代わりに、以下の Docker Hub 固有のコード行を使用します。

    ... pre_build: commands: - echo Logging in to Docker Hub... # Type the command to log in to your Docker Hub account here. build: commands: - echo Build started on `date` - echo Building the Docker image... - docker build -t $IMAGE_REPO_NAME:$IMAGE_TAG . - docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $IMAGE_REPO_NAME:$IMAGE_TAG post_build: commands: - echo Build completed on `date` - echo Pushing the Docker image... - docker push $IMAGE_REPO_NAME:$IMAGE_TAG ...
  2. 編集したコードを S3 入力バケット、 AWS CodeCommit、 GitHub、または Bitbucket リポジトリにアップロードします。

    重要

    (root directory name) をアップロードしないでください。アップロードするのは、(root directory name) 内のファイルのみです。

    S3 入力バケットを使用している場合は、ZIPファイルを含むファイルを作成し、入力バケットにアップロードしてください。ファイル(root directory name)には を追加せずZIP、 内のファイルのみを追加します(root directory name)

  3. create-project コマンドへの JSON形式の入力から次のコード行を置き換えます。

    ... "environmentVariables": [ { "name": "AWS_DEFAULT_REGION", "value": "region-ID" }, { "name": "AWS_ACCOUNT_ID", "value": "account-ID" }, { "name": "IMAGE_REPO_NAME", "value": "Amazon-ECR-repo-name" }, { "name": "IMAGE_TAG", "value": "latest" } ] ...

    以下のコード行に置き換えます。

    ... "environmentVariables": [ { "name": "IMAGE_REPO_NAME", "value": "your-Docker-Hub-repo-name" }, { "name": "IMAGE_TAG", "value": "latest" } ] ...
  4. ビルド環境を作成し、ビルドを実行し、関連するビルド情報を表示します。

  5. が Docker イメージをリポジトリに AWS CodeBuild 正常にプッシュしたことを確認します。Docker Hub にサインインし、リポジトリに進み、[Tags] タブを選択します。latest タグには、ごく最近の [Last Updated] (最終更新) の値が含まれています。