加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 03:53:29 所属栏目:安全 来源:网络整理
导读:使用docker运行一堆-e标志甚至是.env似乎很麻烦. 有没有简单的方法将所有主机env变量传递给docker容器 最佳答案 我同意那些暗示你可能不想做你想做的事情的评论者.然而: 如果(a)你对具有特定前缀的环境变量感兴趣,并且(b)你的变量不包含任何空格,那么这样的

使用docker运行一堆-e标志甚至是.env似乎很麻烦.

有没有简单的方法将所有主机env变量传递给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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读