Docker容器-向其注入敏感数据的最佳实践是什么

时间:2019-02-25 19:22:38

标签: docker environment-variables docker-container docker-build docker-exec

我有一个发送电子邮件的服务。我不想将我的Gmail密码保留在任何文件中。谷歌搜索之后,我发现可以在构建容器时使用--build-arg参数为容器提供环境变量。

Dockerfile文件

FROM node:latest
ARG buildtime_variable=default_value
ENV env_var_name=$buildtime_variable
...
CMD [ "node", "dist/server.js" ]

构建命令

$ docker build --build-arg buildtime_variable=new_value .

列出正在运行的容器中的环境变量

$ docker exec app env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=38dd21dbeda3
NODE_VERSION=11.10.0
YARN_VERSION=1.13.0
env_var_name=default_value
HOME=/root

为什么env_var_name仍然等于default_value或如何将new_value注入到容器中?

非常感谢每个答案!

1 个答案:

答案 0 :(得分:1)

  

只需使用docker-compose而不是docker命令:

{{1}}
  

享受!