将环境dockervariables导出到文件

我有一个非常简单的docker文件:

FROM tomcat:7.0 RUN echo $HOST_IP > /opt/serverIP 

当我用跟随命令运行我的镜像(my-server)时,文件/opt/serverIP存在并且是空的:

 docker run -e HOST_IP='172.16.1.1' -t my-server cat /opt/serverIP 

如何将我的环境价值写入临时文件?


我的docker版本:docker版本1.12.1,build立23cf638
这是我的机器信息:

内核版本:4.4.0-36-通用
操作系统:Ubuntu 16.04 LTS
 OSType:linux
架构:x86_64
 CPU:4
总内存:7.703 GiB

我相信你会把构build时variables和运行时variables混淆在一起。 “RUN”命令基本上是在编译时执行的。 您的“HOST_IP”值是在运行时提供的。

但是,“CMD”指令在运行时执行。 要做大约你正在做的事,定义一个“CMD”,把$ HOST_IP写入文件。 使用“docker run”运行映像,然后使用“docker exec”来validation文件的内容。