'Docker イメージを Amazon ECR に公開' サンプルを Docker Hub にプッシュするように変更 - AWS CodeBuild

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

'Docker イメージを Amazon ECR に公開' サンプルを Docker Hub にプッシュするように変更

'Docker イメージを Amazon ECR に公開' サンプルを調整して、Docker イメージが Amazon ECR の代わりに Docker Hub にプッシュされるようにするには、サンプルのコードを編集します。サンプルの詳細については、「CodeBuild の 'Docker イメージを Amazon ECR イメージリポジトリに公開' サンプル」と「'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. AWS CodeBuild が Docker イメージをリポジトリに正常にプッシュしたことを確認します。Docker Hub にサインインし、リポジトリに進み、[Tags] タブを選択します。latest タグには、ごく最近の [Last Updated] (最終更新) の値が含まれています。