我希望默认为所有容器设置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文件。
答案 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