例如,假设我们有这个
LABEL interpreter_version="3.3.3"
在构建它时,我们可能需要从Dockerfile中获取该值,例如类似
ENV PATH="/path/to/version-manager/versions/$interpreter_version/bin:$PATH"
但是,LABEL
的值仅可从docker inspect
获得,显然在构建过程中无法获得。 this proposal for container introspection,没有被接受,但是没有其他方法。有没有解决该问题的方法?
答案 0 :(得分:2)
一种方法是从ARG
消费,而不是从LABEL消费,因为ARG被认为是build time variable,所以您还可以在构建时覆盖ARG,其中LABLE
专为{{3} }。
此外,还有一些使用Label的准则。
标签键应以小写字母开头和结尾,并且应 仅包含小写字母数字字符,句点字符 (。)和连字符(-)。连续句号或连字符为 不允许。
因此,该选项为Docker 构建时间ARG 。
ARG interpreter_version="3.3.3"
ENV PATH="/path/to/version-manager/versions/$interpreter_version/bin:$PATH"