提问者:小点点

在运行时在“env-file”中引用主机的env变量以传递给docker镜像


是否有从Docker环境文件中的主机引用环境变量的语法。

具体来说,我想做一些类似DOCKER_HOST=${HOSTNAME}的事情,其中HOSTNAME将出现托管docker映像的机器的环境。

上面没有任何替换尝试,而是以${HOSTNAME}的形式传递到Docker映像中。


共1个答案

匿名用户

这通常不是在映像级别完成的,而是在运行时在docker run上完成的:

请参阅“如何在没有env vars的情况下从该主机上的docker容器内部获取docker主机的主机名”

docker run .. -e HOST_HOSTNAME=$(hostname) ..

这确实使用了环境变量。
您可以使用-h在没有环境变量的情况下这样做

docker run -h=$(hostname)

但是,当您的docker运行是docker撰写的一部分时,这不起作用。请参阅问题3840。