翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CodeBuild のカスタム Docker イメージのサンプル
次のサンプルは、 とカスタム Docker ビルドイメージ (docker:dindDocker Hub の ) を使用して Docker イメージを構築 AWS CodeBuild して実行します。
代わりに、Docker をサポートする CodeBuild に用意されているビルドイメージを使用して Docker イメージをビルドする方法については、「'Docker イメージを Amazon ECR に公開' サンプル」を参照してください。
重要
このサンプルを実行すると、 AWS アカウントに料金が発生する可能性があります。これには、CodeBuild と Amazon S3 に関連する AWS リソースとアクション AWS KMS、および CloudWatch Logs に対して発生する可能性のある料金が含まれます。 Amazon S3 詳細については、「[g465]CodeBuild 料金表[/g465]」、「[g464]Amazon S3 料金表[/g464]」、「[g463]AWS Key Management Service 料金表[/g463]」、および「[g462]Amazon CloudWatch 料金表[/g462]」を参照してください。
カスタムイメージサンプルで Docker を実行
カスタムイメージサンプルで Docker を実行するには、次の手順に従います。このサンプルの詳細については、「CodeBuild のカスタム Docker イメージのサンプル」を参照してください。
カスタムイメージサンプルで Docker を実行するには
-
このトピックの ディレクトリ構造および ファイルセクションで説明されているようにファイルを作成し、S3 入力バケットまたは AWS CodeCommit、GitHub、または Bitbucket リポジトリにアップロードします。
重要
をアップロードしないでください。アップロードするのは、(root directory name)内のファイルのみです。(root directory name)S3 入力バケットを使用している場合は、ファイルを必ず ZIP ファイルに圧縮してから入力バケットにアップロードしてください。
を ZIP ファイルに追加しないでください。追加するのは、(root directory name)内のファイルのみです。(root directory name) -
ビルドプロジェクトを作成して、ビルドを実行し、関連するビルド情報を表示します。
を使用してビルドプロジェクト 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" }注記
デフォルトでは、Docker デーモンは非 VPC ビルドで有効になっています。VPC ビルドに Docker コンテナを使用する場合は、Docker Docs ウェブサイトの「Runtime Privilege and Linux Capabilities
」を参照して、特権モードを有効にします。また、Windows は特権モードをサポートしていません。 -
ビルドの結果を表示するには、ビルドのログで文字列
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"