docker图像标签中缺少dockerfile中的Shell变量

时间:2017-01-31 07:16:48

标签: docker

我有一个Dockerfile,其中包含一些类似于' $ MYVARIABLE'作为标签传入(这些字符串用于自定义工具)。

我注意到,一旦成功构建了这个Dockerfile,docker inspect生成的图像会显示空白区域,这些空间位于这些“$ MYVARIABLE”字样中。样式字符串位于Dockerfile中。我只想要&$ 39; $ MYVARIABLE'作为字符串传递我不希望它被视为变量。

我的第一个猜测是我的shell试图扩展它们就好像它们是常规变量,即使我没有使用Dockerfile ARG或ENV语法。我的结论并非如此。所以我的问题是这些字符串在哪里?

1 个答案:

答案 0 :(得分:1)

您需要在dockerfile中将传递的var声明为ARG。 也就是说,如果要将var MY_ARG用作Label,则必须按以下方式声明它:

ARG MY_ARG

LABEL "My Arg"=$MY_ARG

如果您已经这样做了,可能问题在于如何初始化/传递这些变量。可能有些代码会有所帮助。