Adapte o exemplo “Publicar imagem do Docker no Amazon ECR” para enviar para o Docker Hub
Para adaptar o exemplo “Publicar imagem do Docker no Amazon ECR” de modo que a imagem do Docker seja enviada ao Docker Hub e não ao Amazon ECR, edite o código do exemplo. Para obter mais informações sobre o exemplo, consulte Exemplo “Publicar imagem do Docker em um repositório de imagens do Amazon ECR” para CodeBuild e Execute o exemplo “Publicar imagem do Docker no Amazon ECR”.
nota
Se você estiver usando uma versão do Docker anterior à 17.06, remova a opção --no-include-email
.
-
Substitua estas linhas de código específicas do Amazon ECR no arquivo
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 linhas de código específicas no 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 ...
-
Faça upload do código editado em um bucket de entrada do S3 ou em um repositório do AWS CodeCommit, do GitHub ou do Bitbucket.
Importante
Não faça upload de
, apenas dos arquivos dentro de(root directory name)
.(root directory name)
Se você estiver usando um bucket de entrada do S3, crie um arquivo ZIP que contenha os arquivos e envie-o para o bucket de entrada. Não adicione
ao arquivo ZIP, apenas aos arquivos dentro de(root directory name)
.(root directory name)
-
Substitua estas linhas de código da entrada formatada JSON para o 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 linhas de código:
... "environmentVariables": [ { "name": "IMAGE_REPO_NAME", "value": "
your-Docker-Hub-repo-name
" }, { "name": "IMAGE_TAG", "value": "latest" } ] ... -
Crie um ambiente de compilação, execute a compilação e exiba informações relacionadas.
-
Confirme se o AWS CodeBuild foi bem-sucedido ao enviar a imagem de docker para o repositório. Faça login no Docker Hub, vá até o repositório e selecione a guia Tags. A tag
latest
deve conter um valor Last Updated bem recente.