Adapte el ejemplo «Publicar imagen de Docker en AmazonECR» para subirlo a Docker Hub - AWS CodeBuild

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.

Adapte el ejemplo «Publicar imagen de Docker en AmazonECR» para subirlo a Docker Hub

Para adaptar el ejemplo «Publicar imagen de Docker en AmazonECR» de forma que la imagen de Docker se envíe a Docker Hub en lugar de a AmazonECR, edite el código del ejemplo. Para obtener más información sobre el ejemplo, consulte y. Ejemplo de «Publicar una imagen de Docker en un repositorio de ECR imágenes de Amazon» para CodeBuild Ejecute el ejemplo «Publicar imagen de Docker en AmazonECR»

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 ECR específicas de Amazon en el buildspec.yml archivo:

    ... 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 ...
  2. Sube el código editado a un depósito de entrada de S3 o a un AWS CodeCommit GitHub repositorio de Bitbucket.

    importante

    No cargue (root directory name), solo los archivos incluidos en (root directory name).

    Si utilizas un depósito de entrada de S3, asegúrate de crear un ZIP archivo que contenga los archivos y, a continuación, cárgalo en el depósito de entrada. No añada (root directory name) al ZIP archivo, solo los archivos que contiene(root directory name).

  3. Sustituya estas líneas de código de la entrada JSON con formato «-» por el create-project comando:

    ... "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" } ] ...
  4. Cree un entorno de compilación, ejecute la compilación y consulte la información de compilación relacionada.

  5. Confirme 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.