选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

适用于 CodeBuild 的自定义映像示例中的 Docker

聚焦模式

本页内容

适用于 CodeBuild 的自定义映像示例中的 Docker - AWS CodeBuild

以下示例通过使用 AWS CodeBuild 和自定义 Docker 构建映像(Docker Hub 中的 docker:dind)来构建和运行 Docker 映像。

要了解如何改用由支持 Docker 的 CodeBuild 提供的构建映像来构建 Docker 映像,请参阅我们的“将 Docker 映像发布到 Amazon ECR”示例

重要

运行该示例可能会导致您的 AWS 账户产生相关费用。这包括 CodeBuild 可能产生的费用,以及与 Amazon S3、AWS KMS 和 CloudWatch Logs 相关的 AWS 资源和操作可能产生的费用。有关更多信息,请参阅 CodeBuild 定价Amazon S3 定价AWS Key Management Service 定价Amazon CloudWatch 定价

在自定义映像示例中运行 Docker

使用以下过程在自定义映像示例中运行 Docker。有关此示例的更多信息,请参阅适用于 CodeBuild 的自定义映像示例中的 Docker

在自定义映像示例中运行 Docker
  1. 按照本主题的目录结构文件部分的说明创建文件,然后将其上传到 S3 输入存储桶或者上传到 AWS CodeCommit、GitHub 或 Bitbucket 存储库。

    重要

    请不要上传 (root directory name),而只上传 (root directory name) 中的文件。

    如果您使用的是 S3 输入存储桶,请务必创建一个包含这些文件的 ZIP 文件,然后将其上传到输入存储桶。请不要将 (root directory name) 添加到 ZIP 文件中,而只添加 (root directory name) 中的文件。

  2. 创建构建项目、运行构建和查看相关构建信息。

    如果您使用 AWS CLI 创建构建项目,则 create-project 命令的 JSON 格式输入可能与此类似。(请将占位符替换为您自己的值。)

    { "name": "sample-docker-custom-image-project", "source": { "type": "S3", "location": "codebuild-region-ID-account-ID-input-bucket/DockerCustomImageSample.zip" }, "artifacts": { "type": "NO_ARTIFACTS" }, "environment": { "type": "LINUX_CONTAINER", "image": "docker:dind", "computeType": "BUILD_GENERAL1_SMALL", "privilegedMode": false }, "serviceRole": "arn:aws:iam::account-ID:role/role-name", "encryptionKey": "arn:aws:kms:region-ID:account-ID:key/key-ID" }
    注意

    默认情况下,为非 VPC 构建启用 Docker 进程守护程序。如果您想使用 Docker 容器进行 VPC 构建,请参阅 Docker 文档网站上的运行时权限和 Linux 功能并启用特权模式。此外,Windows 不支持特权模式。

  3. 要查看构建结果,请在构建的日志中查找字符串 Hello, World!。有关更多信息,请参阅 查看构建详细信息

目录结构

此示例采用以下目录结构。

(root directory name) ├── buildspec.yml └── Dockerfile

文件

在此示例中使用的操作系统的基本映像是 Ubuntu。此示例将使用这些文件。

buildspec.yml(在 (root directory name)

version: 0.2 phases: pre_build: commands: - docker build -t helloworld . build: commands: - docker images - docker run helloworld echo "Hello, World!"

Dockerfile(在 (root directory name)

FROM maven:3.3.9-jdk-8 RUN echo "Hello World"
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。