本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
的 Docker 镜像构建服务器示例 CodeBuild
以下示例将您的 Docker 版本卸载到托管映像生成服务器。您可以调整此示例,以便在 CodeBuild 项目配置中配置专用的托管 Docker 镜像生成服务器。请注意,当项目正在运行内部版本时,预配置的实例处于活动状态,当构建未运行时,该实例将停止。预配置的实例最多可存储一个月,然后才会被回收利用。有关更多信息,请参阅 CodeBuild Docker 服务器功能
重要
运行此示例可能会导致您的 Amazon 账户被扣款。其中包括与 Amazon S3 和 CloudWatch 日志相关的 Amazon 资源和操作可能产生的费用。 CodeBuild Amazon KMS有关更多信息,请参阅CodeBuild 定价
配置 Docker 服务器
使用以下步骤为管理 Docker 工作负载和存储 Docker 映像层的 CodeBuild 项目配置专用计算环境。
配置 Docker 服务器
-
按照本主题目录结构和文件部分所述创建文件,然后将其上传到 S3 输入存储桶或 Amazon CodeCommit GitHub、或 Bitbucket 存储库。
重要
请不要上传
,而只上传(root directory name)
中的文件。(root directory name)
如果您使用的是 S3 输入存储桶,请务必创建一个包含这些文件的 ZIP 文件,然后将其上传到输入存储桶。请不要将
添加到 ZIP 文件中,而只添加(root directory name)
中的文件。(root directory name)
-
创建构建项目,运行构建,并查看相关的构建信息:
-
在控制台的 “环境” 部分,选择 “其他配置”,导航到 “Docker 服务器配置”,然后选择 “为此项目启用 docker 服务器”。然后,您可以选择 Docker 服务器计算类型并提供注册表凭据。
-
如果您使用创建构建项目,则
create-project
命令的 JSON 格式输入可能与此类似。 Amazon CLI (请将占位符替换为您自己的值。){ "name": "sample-docker-custom-image-project", "source": { "type": "S3", "location": "codebuild-
region-ID
-account-ID
-input-bucket/DockerServerSample
.zip" }, "artifacts": { "type": "NO_ARTIFACTS" }, "environment": { "type": "LINUX_CONTAINER", "image": "aws/codebuild/amazonlinux-x86_64-standard:5.0", "computeType": "BUILD_GENERAL1_LARGE", "dockerServer": [ { "computeType": "BUILD_GENERAL1_LARGE", "securityGroupIds": [ "security-groups-ID
" ] } ] }, "serviceRole": "arn:aws:iam::account-ID
:role/role-name
" }注意
为 Docker 服务器配置的安全组应允许来自项目中配置的 VPC 的入口网络流量。它们应该允许在端口 9876 上进入。
-
-
要查看构建结果,请在构建的日志中查找字符串
Hello, World!
。有关更多信息,请参阅 查看构建详细信息。
目录结构
此示例采用以下目录结构。
(root directory name)
├── buildspec.yml
└── Dockerfile
文件
在此示例中使用的操作系统的基本映像是 Ubuntu。此示例将使用这些文件。
buildspec.yml
(在
)(root directory
name)
version: 0.2 phases: build: commands: - docker buildx build . - docker run helloworld echo "Hello, World!"
Dockerfile
(在
)(root directory
name)
FROM public.ecr.aws/amazonlinux/amazonlinux:latest RUN echo "Hello World"