我有一个构建时间参数,我想以此构建Docker文件。由于该论点本质上是机密的(私有存储库的github键),所以我不希望它最终出现在docker映像中。该引用来自官方docker文档中有关构建时参数的信息。
警告:不建议使用构建时变量来传递诸如github密钥,用户凭据等机密。构建时变量值对于使用docker history命令的映像的任何用户都是可见的。
有人知道实现相同目标的推荐方法是什么?
使用docker 18.09+,将是:( docker build --secret id=mysecret,src=/secret/file 使用buildkit)。
docker build --secret id=mysecret,src=/secret/file
请参阅此推文中宣布的PR 1288。现在受API版本1.39保护。 --secret
--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