我的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环境变量。我究竟做错了什么?任何帮助将不胜感激。
答案 0 :(得分:2)
将图像后的参数传递给命令(而不是docker run
)(在这种情况下,被参数忽略)。将-e
放在图像的之前。
docker run -t -e MakeDir=/path/to/something myimage