Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用具有PrivilegedMode=TRUE的AWS策划的Docker映像创建代码构建项目_Java_Amazon Web Services_Aws Codebuild - Fatal编程技术网

Java 使用具有PrivilegedMode=TRUE的AWS策划的Docker映像创建代码构建项目

Java 使用具有PrivilegedMode=TRUE的AWS策划的Docker映像创建代码构建项目,java,amazon-web-services,aws-codebuild,Java,Amazon Web Services,Aws Codebuild,我用以下命令确认了aws/codebuild/java:openjdk-8是策划的代码构建映像之一 $ 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是一个精心策划的映像,但当我尝试使用

我用以下命令确认了
aws/codebuild/java:openjdk-8
是策划的代码构建映像之一

$ 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策划的图像的项目。”

AWS CodeBuild“Docker”策划的图像是以“AWS/CodeBuild/Docker”开头的图像。CodeBuild策展图像的完整列表可在此处找到:

您只能为“自定义”图像设置最近引入的此标志。这些是您可能在私有Amazon ECR注册表或公共DockerHub注册表中拥有的图像。有关如何在此处启用标志的示例:


因此,对于您的示例,您会遇到此错误,因为尽管您使用的openjdk-8图像是策划的图像,但它不是“docker”策划的图像。

基本上,我必须将AWS图像发布到docker Hub或ECR中我自己的存储库中,才能在特权模式下使用它们,因为Java 8不包括在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)