2017-07-05 66 views
0

我已經創建了一個Dockerfile如下所示:當運行搬運工圖像搬運工構建精氨酸的值沒有顯示在控制檯上

FROM ubuntu 
MAINTAINER ravat 
CMD echo "Hello" 
ARG jam_url 
ENV jam_url=$jam_url 
ENTRYPOINT echo "This is, $jam_url" 
ENV name Ravat Tailor 
ENTRYPOINT echo "Hello, $name" 

我建立圖像與下列docker build命令:

docker build -t dockerdemo --build-arg jam_url=mydomain . 

之後,我運行該圖像:

docker run dockerdemo 

並獲得以下輸出:

你好,Ravat裁縫

我的問題是:爲什麼jam_urlHello不打印到控制檯?

回答

1

有幾件事情:運行圖像時

  1. 只有最後一個入口點指令使用。如果有多個,則選擇最後一個。 https://docs.docker.com/engine/reference/builder/#entrypoint

  2. 這同樣適用於CMD https://docs.docker.com/engine/reference/builder/#cmd 如果有一個CMD和入口點的指令,它會選擇入口點指令來代替。

這將做你想要達到的:

FROM ubuntu ARG jam_url ENV jam_url=$jam_url ENV name Ravat Tailor ENTRYPOINT echo "This, $jam_url\nHello $name"

+0

感謝,+1 這是工作的罰款 一個問題一樣,如果我想通過提供Maven構建說法碼頭圖像生成我該怎麼做? –