gpt4 book ai didi

docker - 将所有主机环境变量传递给 docker 容器的最简单方法

转载 作者:IT老高 更新时间:2023-10-28 12:43:40 26 4
gpt4 key购买 nike

使用带有一堆 -e 标志甚至 .env 的 docker run 似乎很麻烦。

是否有任何简单的方法可以将所有主机环境变量传递给 docker 容器

最佳答案

我同意那些建议您可能实际上并不想做您认为自己想做的事情的评论者的观点。然而:

如果 (a) 您对具有特定前缀的环境变量感兴趣,并且 (b) 您的变量不包含任何空格,那么类似这样的东西会起作用...在这里,我将公开所有 XDG_* 变量到 docker 容器:

$ docker run -it --rm --env-file <(env | grep XDG) alpine sh
/ # env | grep XDG
XDG_SEAT=seat0
XDG_SESSION_TYPE=x11
XDG_SESSION_ID=2
XDG_RUNTIME_DIR=/run/user/21937
XDG_MENU_PREFIX=gnome-
XDG_CURRENT_DESKTOP=GNOME
XDG_SESSION_DESKTOP=gnome
XDG_VTNR=2

如果你真的想要 all 环境变量,你可能需要编写一个较小的包装程序,它会产生正确引用的输出(处理包含空格的变量),并且会排除跨越的东西多行,例如 BASH_FUNC_* 变量。然后你会用你的包装器代替 env | grep ... 在前面的例子中。

关于docker - 将所有主机环境变量传递给 docker 容器的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40229182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com