将本地环境variables传递给docker
这可能是一个普通的docker问题,但我的用例是docker-compose:
我需要将我的机器的主机名作为环境variables传递给通过docker-compose创build的容器。 该特定的容器使用Dockerfile,并使用“cmd”标志。 “cmd”中的命令使用此环境variables。 有人可以帮忙吗?
如果您可以重写Dockerfile以将主机名包含在ENV
指令中(如问题1136中所述) ,那么这将起作用:
FROM centos:latest ENV BLABLA hello RUN echo $BLABLA # outputs: "hello"
如果这纯粹是一个运行时环境variables值,它应该被包含在Docker 1.9中, 问题14634:构build器 – 构build时间parameter passing(例如, HTTP_PROXY
) :
与此同时, OP 208rishabh提到docker compose
2091年的问题 ,由dnephin回答:
环境或env_file 都应该工作 :
您可以将该值保留为空白,并将采用当前环境中的值:
environment: HOST_HOSTNAME:
这允许:
HOST_HOSTNAME=$(hostname) docker-compose up