

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Adaptación del ejemplo de publicación de una imagen de Docker en Amazon ECR para insertar en Docker Hub
<a name="sample-docker-docker-hub"></a>

Para adaptar el ejemplo de publicación de una imagen de Docker en Amazon ECR de modo que la imagen de Docker se inserte en Docker Hub en lugar de en Amazon ECR, edite el código del ejemplo. Para obtener más información sobre el ejemplo, consulte [Ejemplo de «Publicar una imagen de Docker en un repositorio de imágenes de Amazon ECR» para CodeBuild](sample-docker.md) y [Ejecución del ejemplo de publicación de una imagen de Docker en Amazon ECR](sample-docker.md#sample-docker-running).
**nota**  
Si está utilizando una versión de Docker anterior a la 17.06, quite la opción `--no-include-email`.

1. Sustituya estas líneas de código específicas de Amazon ECR en el archivo `buildspec.yml`:

   ```
   ...
     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
   ...
   ```

   Por estas líneas de código específicas de 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. Sube el código editado a un depósito de entrada de S3 o a un AWS CodeCommit repositorio GitHub de Bitbucket. 
**importante**  
No cargue `(root directory name)`, solo los archivos incluidos en `(root directory name)`.   
Si utiliza un bucket de entrada de S3, no olvide crear un archivo ZIP que contenga los archivos y cárguelo en el bucket de entrada. No añada `(root directory name)` al archivo ZIP, solo los archivos incluidos en `(root directory name)`.

1. Sustituya estas líneas de código de la entrada con formato JSON del comando `create-project`:

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

   Por estas líneas de código:

   ```
   ...
       "environmentVariables": [
         {
           "name": "IMAGE_REPO_NAME",
           "value": "your-Docker-Hub-repo-name"
         },
         {
           "name": "IMAGE_TAG",
           "value": "latest"
         }
       ]
   ...
   ```

1. Cree un entorno de compilación, ejecute la compilación y vea la información de compilación relacionada.

1. Confirma que la imagen de Docker se insertó AWS CodeBuild correctamente en el repositorio. Inicie sesión en Docker Hub, vaya al repositorio y elija la pestaña **Tags**. La etiqueta `latest` debe contener un valor de **Last Updated** muy reciente.