翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CodeBuild の Docker イメージビルドサーバーサンプル
次のサンプルは、Docker ビルドをマネージドイメージビルドサーバーにオフロードします。このサンプルを調整して、CodeBuild プロジェクト設定で専用のマネージド Docker イメージビルドサーバーをプロビジョニングできます。プロビジョニングされたインスタンスは、プロジェクトのビルドがアクティブに実行されている間はアクティブであり、ビルドが実行されていない間はインスタンスが停止することに注意してください。プロビジョニングされたインスタンスは、リサイクルされるまで最大 1 か月間保存されます。詳細については、CodeBuild Docker Server の機能
重要
このサンプルを実行すると、 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 ワークロードを管理し、Docker イメージレイヤーを保存する CodeBuild プロジェクト専用のコンピューティング環境をプロビジョニングするには、次の手順に従います。
Docker サーバーを設定するには
-
このトピックの ディレクトリ構造および ファイルセクションで説明されているようにファイルを作成し、S3 入力バケットまたは AWS CodeCommit、GitHub、または Bitbucket リポジトリにアップロードします。
重要
をアップロードしないでください。アップロードするのは、(root directory name)
内のファイルのみです。(root directory name)
S3 入力バケットを使用している場合は、ファイルを必ず ZIP ファイルに圧縮してから入力バケットにアップロードしてください。
を ZIP ファイルに追加しないでください。追加するのは、(root directory name)
内のファイルのみです。(root directory name)
-
ビルドプロジェクトを作成し、ビルドを実行し、関連するビルド情報を表示します。
-
コンソールの環境セクションで、追加設定を選択し、Docker サーバー設定に移動し、このプロジェクトの Docker サーバーを有効にするを選択します。その後、Docker サーバーのコンピューティングタイプを選択し、レジストリ認証情報を指定できます。
-
を使用してビルドプロジェクト AWS CLI を作成する場合、
create-project
コマンドへの JSON 形式の入力は次のようになります。(プレースホルダは独自の値に置き換えてください。){ "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"