本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
调整 “将 Docker 镜像发布到亚马逊ECR” 示例以推送到 Docker Hub
要调整 “将 Docker 镜像发布到亚马逊ECR” 示例,以便将 Docker 镜像推送到 Docker Hub 而不是亚马逊ECR,请编辑该示例的代码。有关该示例的更多信息,请参见“将 Docker 映像发布到亚马逊ECR映像存储库” 示例 CodeBuild和运行 “将 Docker 镜像发布到亚马ECR逊” 示例。
注意
如果您使用的是 17.06 版本之前的 Docker 版本,请删除 --no-include-email
选项。
-
替换
buildspec.yml
文件中以下ECR特定于 Amazon 的代码行:... 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 ...
-
将编辑后的代码上传到 S3 输入存储桶或 AWS CodeCommit GitHub、或 Bitbucket 存储库。
重要
请不要上传
,而只上传(root directory name)
中的文件。(root directory name)
如果您使用的是 S3 输入存储桶,请务必创建一个包含这些ZIP文件的文件,然后将其上传到输入存储桶。不要
添加到ZIP文件中,只添加里面的文件(root directory name)
。(root directory name)
-
将JSON格式输入中的以下代码行替换为
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" } ] ...利用这些代码行,可以:
... "environmentVariables": [ { "name": "IMAGE_REPO_NAME", "value": "
your-Docker-Hub-repo-name
" }, { "name": "IMAGE_TAG", "value": "latest" } ] ... -
创建构建环境,运行构建,并查看相关的构建信息。
-
确认 AWS CodeBuild 已成功将 Docker 镜像推送到存储库。登录 Docker Hub,再转至存储库,然后选择标签选项卡。
latest
标签应包含最新的上次更新值。