小编典典

在Docker中使用构建时参数的安全方法

docker

我有一个构建时间参数,我想以此构建Docker文件。由于该论点本质上是机密的(私有存储库的github键),所以我不希望它最终出现在docker映像中。该引用来自官方docker文档中有关构建时参数的信息。

警告:不建议使用构建时变量来传递诸如github密钥,用户凭据等机密。构建时变量值对于使用docker history命令的映像的任何用户都是可见的。

有人知道实现相同目标的推荐方法是什么?


阅读 292

收藏
2020-06-17

共1个答案

小编典典

使用docker 18.09+,将是:( docker build --secret id=mysecret,src=/secret/file
使用buildkit)。

请参阅此推文中宣布的PR
1288
。现在受API版本1.39保护
--secret

例:

printf "hello secret" > ./mysecret.txt

export DOCKER_BUILDKIT=1

docker build --no-cache --progress=plain --secret id=mysecret,src=$(pwd)/mysecret.txt -f - . <<EOF
# syntax = tonistiigi/dockerfile:secrets20180808
FROM busybox
RUN --mount=type=secret,id=mysecret cat /run/secrets/mysecret
RUN --mount=type=secret,id=mysecret,dst=/foobar cat /foobar
EOF
2020-06-17