我有一个Dockerfile,其中包含一些类似于' $ MYVARIABLE'作为标签传入(这些字符串用于自定义工具)。
我注意到,一旦成功构建了这个Dockerfile,docker inspect
生成的图像会显示空白区域,这些空间位于这些“$ MYVARIABLE”字样中。样式字符串位于Dockerfile中。我只想要&$ 39; $ MYVARIABLE'作为字符串传递我不希望它被视为变量。
我的第一个猜测是我的shell试图扩展它们就好像它们是常规变量,即使我没有使用Dockerfile ARG或ENV语法。我的结论并非如此。所以我的问题是这些字符串在哪里?
答案 0 :(得分:1)
您需要在dockerfile中将传递的var声明为ARG
。
也就是说,如果要将var MY_ARG
用作Label,则必须按以下方式声明它:
ARG MY_ARG
LABEL "My Arg"=$MY_ARG
如果您已经这样做了,可能问题在于如何初始化/传递这些变量。可能有些代码会有所帮助。