–env文件的build-arg的等价物?

我正在使用多个构build参数构buildDocker镜像,并想知道是否可以将它们作为文件传递给Docker构build,同样的方式--env-file可以放到docker docker run 。 这个env文件将被docker run自动分析,并且这个variables在容器中可用。

有没有可能以同样的方式指定一个构build参数文件?

至less现在没有这样的select。 但是,如果您有太多的构build参数,并且想将其保存在文件中,则可以按以下方式进行存档:

  1. 将下面的shell保存到buildargs.sh ,使其可执行并将其放入PATH

     #!/bin/bash awk '{ sub ("\\\\$", " "); printf " --build-arg %s", $0 } END { print "" }' $@ 
  2. 使用argfile构build您的映像, argfile所示:

     docker build $(buildargs.sh argfile) -t your_image . 

这段代码对于包含空格和特殊字符的build-arg是安全的:

 for arg in buildarg1 buildarg2 ; do opts+=(--build-arg "$arg") ; done ... docker run ... "${opts[@]}" 

只需用你的build-arg的转义replacebuildarg1等等。