Docker环境变量未正确传递

时间:2018-07-19 21:59:31

标签: linux bash docker unix

我的Docker映像(CentOS 7)运行一个bash脚本,该脚本需要一些环境变量。 bash脚本是通过ENTRYPOINT指令启动的。

# Inside the Dockerfile
ADD run.sh .
RUN chmod 777 run.sh
ENTRYPOINT ["/bin/bash", "-c", "./run.sh"]

# Inside run.sh
echo MakeDir: $MakeDir

要启动此容器,请运行以下命令:

docker run -t myimage -e MakeDir=/path/to/something

不幸的是,run.sh脚本看不到MakeDir环境变量。我究竟做错了什么?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

将图像后的参数传递给命令(而不是docker run)(在这种情况下,被参数忽略)。将-e放在图像的之前

docker run -t -e MakeDir=/path/to/something myimage