是否可以设置环境。所有 future Docker容器的变量?
这将有助于为特定主机设置http代理,而无需更改Docker镜像文件或运行容器的方式(因此,相同的Docker容器可以在不同的“上下文”上正常运行)。
也许通过/etc/default/docker
?
最佳答案
Docker compose使用变量替换,因此您可以在docker-compose文件中使用主机变量:
如果您的bash session 定义了一个名为EXTERNAL_PORT
的变量。
web:
build: .
ports:
- "${EXTERNAL_PORT}:5000"
检查:https://docs.docker.com/compose/compose-file/#variable-substitution
同样在代理的情况下,我猜测如果在当前shell session 中定义了默认情况下,使用
HTTP_PROXY
应该重定向流量。export http_proxy=http://10.203.0.1:5187/
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export rsync_proxy=$http_proxy
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
这样的操作应该重定向所有http通信,您可以从
.bashrc
进行设置。从未测试过docker,请让我知道它是否有效。
关于docker - 为所有Docker容器设置全局环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40719226/