我有一个简单的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
答案 0 :(得分:3)
我相信你会将构建时变量与运行时变量混淆。 " RUN"命令基本上是在构建时执行的。你的" HOST_IP"值在运行时提供。
" CMD"但是,指令在运行时执行。要大致做你正在尝试做的事情,定义一个" CMD"将$ HOST_IP写入文件。使用" docker run"运行图像,然后使用" docker exec"验证文件的内容。