我想使用AWS CDK在源代码中定义CodeBuild项目。CodeBuild项目需要能够构建然后推送Docker映像。
在AWS控制台中创建新的CodeBuild项目时,有一个选项:
特权如果要构建Docker映像或希望您的构建获得提升的特权,请启用此标志。
我没有在API Docs中看到用于打开Privileged标志的等效api 。
var codeBuildProject = new Project(this, "Example_Build", new ProjectProps
{
ProjectName = "ExampleBuildFromCDK",
// How to add Privileged?
BuildSpec = BuildSpec.FromSourceFilename("example/buildspec.yml"),
Source = Source.CodeCommit(new CodeCommitSourceProps
{
Repository = Repository.FromRepositoryArn(this, "CodeCommit", CodeRepositoryArn),
BranchOrRef = "refs/heads/example/added-docker-images"
})
});
而且,如果我尝试在不将Privileged设置为true的情况下运行构建,则会收到标准错误:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
如何使用AWS CDK创建具有“特权”以构建Docker映像的CodeBuild项目?
new Project(this, "coolBuildProject", {
// ... setting up your codeBuildProject
environment: {
// this is the essential piece you're looking for
privileged: true,
},
});
通常,您可以在这里找到所有其他(构建)环境设置:https : //docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-codebuild.BuildEnvironment.html#privileged
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句