我確認使用以下命令aws/codebuild/java:openjdk-8
是策劃的CodeBuild圖像之一。使用具有PrivilegedMode = TRUE的AWS策略泊塢窗圖像創建CodeBuild項目
$ aws codebuild list-curated-environment-images | grep -A 1 openjdk-8
"name": "aws/codebuild/java:openjdk-8",
"description": "AWS CodeBuild - Java 8"
儘管aws/codebuild/java:openjdk-8
被策展的形象,當我嘗試使用圖像和PrivilegedMode = true參數創建構建項目,我得到一個4XX錯誤是沒有意義:「PrivilegedMode可以 只能設置針對具有自定義或AWS CodeBuild Docker策劃映像的項目。「
9 [main] INFO org.janusgraph.codepipelines.AwsCodePipelinesCi -
{
Name: j1pass-bdb-project,
Source: {Type: CODEPIPELINE,},
Artifacts: {Type: CODEPIPELINE, Name: null-artifacts,Packaging: NONE},
Environment: {Type: LINUX_CONTAINER,
Image: aws/codebuild/java:openjdk-8,
ComputeType: BUILD_GENERAL1_LARGE,
EnvironmentVariables: [{Name: MODULE,Value: janusgraph-berkeleyje}],
PrivilegedMode: true},
ServiceRole: arn:aws:iam::############:role/cbjanus,
TimeoutInMinutes: 480
}
1454 [main] ERROR org.janusgraph.codepipelines.AwsCodePipelinesCi -
PrivilegedMode can only be set for projects with custom or AWS CodeBuild Docker
curated images. (Service: AWSCodeBuild; Status Code: 400;
Error Code: InvalidInputException; Request ID: 89ab67a0-4d00-11e7-8da7-bdeb9326cb3c)
com.amazonaws.services.codebuild.model.InvalidInputException: PrivilegedMode can
only be set for projects with custom or AWS CodeBuild Docker curated images.
(Service: AWSCodeBuild; Status Code: 400;
Error Code: InvalidInputException; Request ID: 89ab67a0-4d00-11e7-8da7-bdeb9326cb3c)
基本上,我必須將AWS鏡像發佈到Docker Hub或ECR的我自己的存儲庫中,才能以特權模式使用它們,因爲Java 8未包含在'aws/codebuild/docker'映像中。 –