如何在Docker BuildKit中一次性传递多个秘钥文件?
在Docker BuildKit中传递多个AWS秘钥文件的解决办法
你可以通过添加多个--mount=type=secret参数到同一条RUN命令,同时在构建命令里传入多个--secret参数来实现。具体操作如下:
修改Dockerfile中的RUN命令
在同一条RUN指令里为每个需要传递的文件添加独立的--mount配置,分别指定不同的id和对应的target路径:
RUN --mount=type=secret,id=aws_credentials,target=/root/.aws/credentials \ --mount=type=secret,id=aws_config,target=/root/.aws/config \ npm run build:prepare
更新构建命令
在docker build命令中添加第二个--secret参数,对应刚才定义的id和本地文件路径:
DOCKER_BUILDKIT=1 docker build -t $IMAGE:$TAG \ --secret id=aws_credentials,src=$HOME/.aws/credentials \ --secret id=aws_config,src=$HOME/.aws/config .
说明
每个秘钥文件需要分配唯一的id,并通过target指定它在容器内的挂载路径,这样构建过程中就能同时访问到AWS凭证和配置文件了。
内容的提问来源于stack exchange,提问作者BraedenK
相关产品推荐
相关产品推荐

