当我的 Dockerfile 执行 RUN 命令时:
RUN npm-cli-adduser -r https://$PRIVATE_REPOSITORY_URL/repository/npm-read -u $PRIVATE_USERNAME -p "$PRIVATE_PASSWORD" -e service-foobar@example.com
它与终端中的私有环境变量相呼应。我想隐藏这些变量,让阅读终端的用户看不到它。
这可能吗?
您可以使用 docker secrets,但据我了解,您需要将变量存储在文件中
像这样:
Dockerfile
FROM node:12
RUN --mount=type=secret,id=mysecret,dst=/foobar echo $(cat /foobar) >> test.txt
# In your case
# RUN npm-cli-adduser -r https://$PRIVATE_REPOSITORY_URL/repository/npm-read -u $PRIVATE_USERNAME -p $(cat /foobar) -e service-foobar@example.com
构建命令
docker build --secret id=mysecret,src=mysecret.txt . -t docker-debug
mysecret.txt 内容:
YOURPASSWORD