我希望能够使用AWS CDK在源代码中定义一个CodeBuild项目。该CodeBuild项目需要能够构建并推送Docker镜像。
在AWS控制台中创建新的CodeBuild项目时,有一个选项:
“特权”:如果您想要构建Docker镜像或希望构建具有提升权限的构建,请启用此标志。
如何使用AWS CDK创建具有"特权"的CodeBuild项目以构建Docker镜像?
在AWS控制台中创建新的CodeBuild项目时,有一个选项:
“特权”:如果您想要构建Docker镜像或希望构建具有提升权限的构建,请启用此标志。
我没有看到任何等价的API来打开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创建具有"特权"的CodeBuild项目以构建Docker镜像?
Environment
属性中。https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-codebuild.BuildEnvironment.html#privileged - Philip Pittle