Adatta l'esempio «Pubblica immagine Docker su AmazonECR» per inviarlo a Docker Hub - AWS CodeBuild

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Adatta l'esempio «Pubblica immagine Docker su AmazonECR» per inviarlo a Docker Hub

Per adattare l'esempio «Publish Docker image to AmazonECR» in modo che l'immagine Docker venga inviata a Docker Hub anziché ad AmazonECR, modifica il codice dell'esempio. Per ulteriori informazioni sull'esempio, consulta e. Esempio di «Pubblica immagine Docker su un archivio di ECR immagini Amazon» per CodeBuild Esegui l'esempio «Pubblica immagine Docker su AmazonECR»

Nota

Se si utilizza una versione di Docker precedente alla 17.06, rimuovere l'opzione --no-include-email.

  1. Sostituisci queste righe di codice ECR specifiche di Amazon nel buildspec.yml file:

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

    con queste righe di codice specifiche di 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. Carica il codice modificato in un bucket di input S3 o in un repository AWS CodeCommit GitHub, o Bitbucket.

    Importante

    Non caricare (root directory name), ma solo i file all'interno di (root directory name)

    Se utilizzi un bucket di input S3, assicurati di creare un ZIP file che contenga i file, quindi caricalo nel bucket di input. Non aggiungete (root directory name) al ZIP file, ma solo i file al suo interno. (root directory name)

  3. Sostituisci queste righe di codice dall'input JSON -formatted al 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" } ] ...

    con queste righe di codice:

    ... "environmentVariables": [ { "name": "IMAGE_REPO_NAME", "value": "your-Docker-Hub-repo-name" }, { "name": "IMAGE_TAG", "value": "latest" } ] ...
  4. Crea un ambiente di compilazione, esegui la build e visualizza le informazioni relative alla build.

  5. Conferma di AWS CodeBuild aver inviato correttamente l'immagine Docker al repository. Accedere a Docker Hub, andare nel repository e selezionare la scheda Tags (Tag). Il tag latest dovrebbe contenere un valore di Last Updated (Ultimo aggiornamento) molto recente.