版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dt763C/article/details/86587249
出品丨Docker公司(ID:docker-cn)
编译丨小东
每周一、三、五晚6点10分 与您不见不散!
说在前面
ARG 即“构建时变量”可使用 docker build 命令“build-arg=flag”将变量传递给构建器。
使用全新的 Docker 引擎 18.09支持一个新的后端 BuildKit 构建工具包来执行您的构建。
&
您可以通过在 CLI 命令行界面上设置以下环境变量来切换到这个后端:
DOCKER_BUILDKIT=1
使用这个新的后端,Docker 预定义了一组 ARG 变量,其中包含了有关执行构建的节点平台(构建平台)和生成镜像(目标平台)的相关信息。
自动设置以下 ARG 变量:
ARG 变量 | 描述 |
TARGETPLATFORM | 正在进行构建镜像的平台,例如:linux/amd64、linux/arm/v7 和 windows/amd64; |
TARGETOS | 目标平台的 OS 操作系统值,例如 :linux,windows; |
TARGETARCH | 目标平台的 CPU 架构; |
TARGETVARIANT | CPU 的变体,例如:v7 —— 当架构是 arm 时指定 ARMv7; |
BUILDPLATFORM | 执行构建节点平台; |
BUILDOS | 执行构建节点的 OS 操作系统值; |
BUILDARCH | 构建平台的 CPU 架构; |
BUILDVARIANT | 用于构建平台的 CPU变体; |
这些参数在全局范围内定义,因此在构建阶段或 RUN 命令中不会自动提供。要在构建阶段中公开其中一个参数,请在没有值的情况下重新定义它。
考虑下面的 Dockerfile,我们重新定义了所有上面预定义的 ARG 变量,我在 RaspberryPi 上进行了这个构建,以显示上述 ARG 变量的所有值,如下图所示:
点击文尾处“阅读原文”从 Docker 文档中了解更多信息。
点击下列标题,阅读更多干货
如果本文对你有帮助,欢迎分享到朋友圈!获取更多Docker实用技巧,扫描下图二维码!