2017-01-31 122 views
1

我有一個Dockerfile,其中包含一些看起來像'$ MYVARIABLE'作爲標籤傳入的文本(這些字符串用於自定義工具)。Dockerfile中缺少dockerfile的Shell變量

我注意到,一旦這個Dockerfile被成功構建,docker inspect的結果圖像顯示這些'$ MYVARIABLE'樣式字符串在Dockerfile中的空白空間。我只想'$ MYVARIABLE'作爲字符串傳遞,我不希望它作爲變量處理。

我的第一個猜測是,我的shell試圖擴展這些,就好像它們是常規變量,即使我沒有使用Dockerfile ARG或ENV語法。我認爲情況並非如此。所以我的問題是這些字符串在哪裏?

+1

你可以發佈你的dockerfile的樣本嗎? – Matt

回答

1

您需要在dockerfile中聲明傳遞的var爲ARG。 如果你想使用var MY_ARG作爲標籤也就是說,你必須聲明它以下列方式:

ARG MY_ARG 

LABEL "My Arg"=$MY_ARG 

如果你已經這樣做,也許問題是與這些變量的初始化/可能有些代碼會有幫助。

+0

我只是希望它作爲一個文字字符串傳遞,我不希望它像一個變量一樣對待。 – onetruescottsman

+0

然後更好地添加您的docker文件並提及您通過增值稅的方式。 – Rambler