将 AWS Codebuild 环境变量注入 Dockerfile

Inject AWS Codebuild Environment Variables into Dockerfile

有没有办法将 AWS Codebuild 环境变量传递到 Dockerfile 中? 我希望能够像这样从 ECR 中提取:

FROM $My_AWS_ACCOUNT.dkr.ecr.us-east-1.amazonaws.com/someimage:latest

其中 $My_AWS_ACCOUNT 引用我的代码构建项目中的环境变量。

是的,您可以使用 FROM ${My_AWS_ACCOUNT}.xxx。 My_AWS_ACCOUNT 应该作为参数传递给 docker 构建。 我会这样做:

ARG My_AWS_ACCOUNT=SOME_DEFAULT_IMAGE FROM ${My_AWS_ACCOUNT}.xxx

构建时: docker build --build-arg My_AWS_ACCOUNT=${My_AWS_ACCOUNT}

Docker 中的另一个令人惊讶的烦人的事情实际上并不需要这么困难,但由于某种原因非常复杂 and/or non-intuitive.

命令行:

docker build --build-arg My_AWS_ACCOUNT=${My_AWS_ACCOUNT}

Docker文件:

ARG My_AWS_ACCOUNT
FROM ${My_AWS_ACCOUNT}.dkr.ecr.us-east-1.amazonaws.com/someimage:latest