我的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个环境变量
答案 0 :(得分:2)
我只想存储由docker run命令传递的那些环境变量。
在容器内部,无法区分“通过docker run
命令行设置的环境变量”和“其他环境变量”。您唯一可以考虑的是对通过docker run
设置的变量使用特定的前缀:
docker run -e prefix_env1=val1 -e prefix_env2=val2 ...
然后在容器内,您可以使用printenv | grep '^prefix_'
仅匹配那些变量。