如何为所有 docker 容器添加默认环境变量

如何为所有 docker 容器添加默认环境变量

我正在尝试配置我的 dockerd 以将环境变量注入到它启动的所有容器中。

更具体地说,我需要每个容器都使用 SSH,DOCKER_HOST以及该主机所在的位置,以便容器不会尝试使用卷挂载 docker unix 套接字,-v /var/docker/docker.sock:/var/sock/docker.sock因为这是一个需要限制的命令

因此,一般问题(将任何环境变量注入所有容器)会很有用,但具体来说,我需要注入 DOCKER_HOST,这可能有一个非通用的答案

答案1

据我所知,没有本机工具可以将一组默认环境变量注入所有 Docker 容器中;请参阅Moby 问题 #16699对这个问题有一些想法。

我想如果你真的有野心,你可以写一个位于docker套接字前面的可变代理,并让它拦截ContainerCreate操作,更新Env密钥,并将请求传递给 Docker。

相关内容