我有一个开始的 Dockerfile...
FROM some.artifactory.example.com/openjdk:8-jre-alpine
ARG version
LABEL version=$version
...
我想知道 'version' 和 '$version' 是什么以及它们的效用分别作为 ARG 和 LABEL 的值。就像ARG version
以某种方式“在范围内”拉一些价值,然后LABEL version=$version
使用它……达到什么目的?在有问题的 Dockerfile 中,我没有看到任何其他地方提到版本。
ALABEL
是图像上的一段元数据。您可以添加任何key=val
作为标签。
AnARG
是您可以在构建时传递给构建器的东西。然后,您可以在构建期间使用 Dockerfile 中的值(但它在运行时不再可用;因此,除非您以某种方式将值保存到映像本身中,否则容器将不知道该值是什么)。
docker build --build-arg version=1.2.3
基于这个 Dockerfile,作者似乎想在构建时传递一个版本号,并将其保存在元数据中。他们使用ARG
(and --build-arg
) 传递值,并使用LABEL
将其作为元数据存储在生成的图像中。
换句话说,这似乎是图像的某种组织/簿记,但它对图像的内容或运行时特性没有影响。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句