Dockerfile与外部参数文件

我有2个Dockerfiles有共同的参数(ARG)传递给实际的命令(运行)来build立图像。

是否有可能提供一个外部文件的参数,以便当我需要更新其中之一时,我不需要同时触摸两个Docker文件?

ARG被devise成可以从构build命令行修改,所以你可以运行docker build --build-arg VAR=value -t your_image . 。 这可以放在一个shell脚本的内部来自动执行,并将相同的parameter passing给每个构build。

您也可以使用撰写文件,撰写文件可以使用环境variables或.env文件来设置撰写文件中使用的variables,例如

 build: context: ./your_app_dir dockerfile: Dockerfile args: VAR: ${VALUE} 

.env将包含:

 VALUE=your_value 

有关撰写文件的更多详细信息,请参阅构build语法以及环境文件语法 。