docker - 我想在容器中打印 docker run 环境变量

标签 docker shell ubuntu dockerfile

我的 docker 运行命令:

docker run -e env1=value1 -e env2=value2 -e env3=value3 my_image_name(Ubuntu OS)
现在在容器内,我想将这些值(value1、value2 和 value3)存储到某个文本文件中。
为此,我使用 printenv > dockerenv.txt在我的入口点脚本中。
但是通过这种方式,我还可以获取所有其他操作系统环境变量(expwd、主机名等)以及 value1、value2 和 value3。
我只想存储 docker run 命令传递的那些环境变量。
注意: - 我不确定我的变量将如何传递给我的 docker run 命令。它是动态的。可能有 n 个环境变量

最佳答案

I want to store only those environment variables that are passed by docker run command.


从容器内部,无法区分“通过docker run 命令行设置的环境变量”和“其他环境变量”。您唯一可以考虑的是在您通过 docker run 设置的变量上使用特定前缀。 :
docker run -e prefix_env1=val1 -e prefix_env2=val2 ...
然后在容器内你可以使用printenv | grep '^prefix_'只匹配那些变量。

关于docker - 我想在容器中打印 docker run 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63315026/

相关文章:

linux - 如何在 docker ubuntu 中添加 daemon.json 文件?

Docker 条件构建镜像

linux - 无法使用sudo运行bash脚本

linux - 如何处理我的 PATH 变量中的重复项?

php - 备份网站文件并通过电子邮件发送

php - 更改apache2 php路径

linux - Gtk3 Comboboxtext 小部件默认项

tomcat - Ubuntu 上 Tomcat 7 的文件夹问题

ssh - docker run找不到名称标志参数

docker - Gitlab docker executor - 在 before_script 之后缓存图像