

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

# 'Docker イメージを Amazon ECR に公開' サンプルを Docker Hub にプッシュするように変更
<a name="sample-docker-docker-hub"></a>

'Docker イメージを Amazon ECR に公開' サンプルを調整して、Docker イメージが Amazon ECR の代わりに Docker Hub にプッシュされるようにするには、サンプルのコードを編集します。サンプルの詳細については、「[CodeBuild の 'Docker イメージを Amazon ECR イメージリポジトリに公開' サンプル](sample-docker.md)」と「['Docker イメージを Amazon ECR に公開' サンプルを実行](sample-docker.md#sample-docker-running)」を参照してください。
**注記**  
使用している 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
   ...
   ```

1. 編集したコードを S3 入力バケット、、GitHub AWS CodeCommit、または Bitbucket リポジトリにアップロードします。
**重要**  
`(root directory name)` をアップロードしないでください。アップロードするのは、`(root directory name)` 内のファイルのみです。  
S3 入力バケットを使用している場合は、ファイルを必ず ZIP ファイルに圧縮してから入力バケットにアップロードしてください。`(root directory name)` を ZIP ファイルに追加しないでください。追加するのは、`(root directory name)` 内のファイルのみです。

1. `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"
         }
       ]
   ...
   ```

1. ビルド環境を作成して、ビルドを実行し、関連するビルド情報を表示します。

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