将环境docker变量导出到文件

时间:2016-09-02 14:57:55

标签: linux docker environment-variables dockerfile

我有一个简单的docker文件:

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

当我使用follow命令运行我的图像(我的服务器)时,文件/opt/serverIP存在并且它是空的:

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

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

我的泊坞版:Docker版本1.12.1,版本23cf638
这是我的机器信息:

Kernel Version: 4.4.0-36-generic
Operating System: Ubuntu 16.04 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.703 GiB

1 个答案:

答案 0 :(得分:3)

我相信你会将构建时变量与运行时变量混淆。 " RUN"命令基本上是在构建时执行的。你的" HOST_IP"值在运行时提供。

" CMD"但是,指令在运行时执行。要大致做你正在尝试做的事情,定义一个" CMD"将$ HOST_IP写入文件。使用" docker run"运行图像,然后使用" docker exec"验证文件的内容。