如何设置默认的docker环境变量

时间:2015-11-18 08:31:55

标签: docker

我希望默认为所有容器设置env变量SERVICE_CHECK_TTL。我可以以某种方式使用docker deamon,就像这个为所有容器设置默认env变量的破坏示例

  

ExecStart=/usr/bin/docker daemon --env SERVICE_CHECK_TTL=30s -H fd://

失败的示例是docker.service文件的一部分。 env变量SERVICE_CHECK_TTL由Registrator使用,用于在Consul中注册容器。

编辑: 我不想在Dockerfile或docker-compose文件中设置此env变量,如果有另一种方法设置所有容器的env变量(默认)。原因是我希望避免更改每个Dockerfiles和每个docker-compose文件。

2 个答案:

答案 0 :(得分:0)

Dockerfile中的ENV指令就是为此设计的,看看docker docs,它们非常好。

所以让我们假设你的所有容器都使用debian Jessie,你可以放入一个Dockerfile FROM debian ENV xxx yyy,然后构建你的特定debian docker build -t mydebian .然后,当你构建容器时,你的Dockerfile始终以{开头} {1}} 您现在拥有所有容器的特定ENV值

当然,您可以用ubuntu,centos或任何其他

替换debian

答案 1 :(得分:-2)

使用此命令(记得更改Docker主机):

docker exec -i CONTAINER_ID /bin/bash -c "export DOCKER_HOST=tcp://localhost:port"

OR

echo 'export DOCKER_HOST=tcp://localhost:port' >> ~/.bashrc