2016-09-02 51 views
0

我有很簡單的搬運工文件:出口環境搬運工變量文件

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

當我跑我的形象(我的服務器)與後續命令文件/opt/serverIP存在,它是空的:

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

如何將我的環境值寫入臨時文件?


我的搬運工版本:泊塢版本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 

回答

2

我相信你和運行時變量詭異的編譯時間變量。 「運行」命令基本上是在構建時執行的。您的「HOST_IP」值在運行時提供。

但是,「CMD」指令在運行時執行。要近似做你想做的事,定義一個將$ HOST_IP寫入文件的「CMD」。使用「docker run」運行映像,然後使用「docker exec」來驗證文件的內容。

+0

謝謝,我改變了我的碼頭文件,我的圖像正在運行。但該文件不存在! – FabryProg

+0

你必須用你現在擁有的東西來更新你的文章。它也可能有助於查看「碼頭構建」輸出。 –

+0

我使用sh腳本對其進行解析。感謝和國王問候 – FabryProg