2017-01-31 55 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