我想在容器中打印Docker运行环境变量

时间:2020-08-08 11:46:53

标签: docker shell ubuntu dockerfile

我的docker run命令:

docker run -e env1=value1 -e env2=value2 -e env3=value3 my_image_name(Ubuntu OS)

现在在容器中,我想将这些值(值1,值2和值3)存储到某些文本文件中。

为此,我在入口点脚本中使用了printenv > dockerenv.txt

但是通过这种方式,我还获得了所有其他OS环境变量(例如expwd,主机名等)以及value1,value2和value3。

我只想存储由docker run命令传递的那些环境变量。

注意:-我不确定我的变量将如何传递给我的docker run命令。它是动态的。可能有n个环境变量

1 个答案:

答案 0 :(得分:2)

我只想存储由docker run命令传递的那些环境变量。

在容器内部,无法区分“通过docker run命令行设置的环境变量”和“其他环境变量”。您唯一可以考虑的是对通过docker run设置的变量使用特定的前缀:

docker run -e prefix_env1=val1 -e prefix_env2=val2 ...

然后在容器内,您可以使用printenv | grep '^prefix_'仅匹配那些变量。