ARG

ARG <name>[=<default value>]

ARG指令定义了一个用户能够在构建时通过docker build --build-arg <key>=<value>传递给构建器的变量。如果用户指定了一个没有在Dockerfile中定义的构建参数,构建将输出一个警告。

[Warning] One or more build-args [foo] were not consumed.

Dockerfile可以包含多个ARG指令,例如下面就是一个有效的Dockerfile

FROM busybox
ARG user1
ARG buildno
# ...

Warning:

不推荐使用构建时(build-time)变量传递私密信息(secrets, github密钥、用户凭据等。任何一个镜像的用户使用docker history命令都可以查看到镜像的构建时(build-time)变量值。

参考使用BuildKit构建镜像的部分,了解在构建镜像时使用secrets的安全方法 。

Last updated