
Docker构建时间参数
构建时间参数
Docker可以为docker build使用--build-arg选项为特定的环境变量定义构建时间值,这些变量不会保留在中间或最终映像中。这些变量必须在具有默认值的Dockerfile的ARG指令中指定。您可以使用“生成参数(Build args)”字段在Docker运行配置中配置构建时参数。
例如,您可以使用构建时参数来构建具有特定版本的PostgreSQL的映像。为此,请将ARG指令添加到Dockerfile的开头:
ARG PGTAG=latest
FROM postgres:$PGTAG
如果您不将它重新定义为构建时参数,则此情况下的PGTAG变量将默认为latest。所以默认情况下,这个Dockerfile会生成一个包含最新PostgreSQL版本的图像。但是,您可以使用“构建参数(Build Args)”对话框重新定义PGTAG变量。

在前面的屏幕截图中,PGTAG设置为9,这将指示Docker拉动postgres:9。在部署此运行配置时,它将构建一个图像并使用PostgreSQL版本9运行该容器。要检查此问题,请在容器内部执行postgres --version,并查看输出:它应该是postgres (PostgreSQL) 9.6.6或一些更高版本。
如果展开“命令预览(Command preview)”字段,则会看到以下选项已添加到该docker build命令中:
--build-arg PGTAG=9