有没有办法在 docker build
期间强制使用构建参数?如果缺少参数,那么预期的行为将是构建失败。
例如,对于以下 Dockerfile:
FROM ubuntu
ARG MY_VARIABLE
ENV MY_VARIABLE $MY_VARIABLE
RUN ...
我希望构建失败时,在 ARG MY_VARIABLE
构建与 docker build -t my-tag .
和通过时,与 docker build -t my-tag --build-arg MY_VARIABLE=my_value .
构建。
有什么方法可以实现这种行为吗? 在我的例子中,设置一个默认值并没有真正起到作用。
(我正在 darwin/amd64
上运行 Docker 1.11.1
。)
编辑:
我能想到的一种方法是运行一个在 MY_VARIABLE
为空时失败的命令,例如:
FROM ubuntu
ARG MY_VARIABLE
RUN test -n "$MY_VARIABLE"
ENV MY_VARIABLE $MY_VARIABLE
RUN ...
但这似乎并不是解决当前问题的一种非常惯用的方法。