Dockerfile 中RUN 命令的ARG 为空问题。

本文详细解析了Dockerfile中ARG与FROM指令的交互作用,解释了为什么ARG指令在FROM指令前声明时不能在后续阶段直接使用,并提供了解决方案。通过正确示例展示了如何在FROM之后重新声明ARG,使ARG的默认值得以利用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误示例(ARG为空)

ARG VERSION=latest
FROM busybox:$VERSION
RUN echo $VERSION

正确示例(ARG输出latest)

在FROM 之后RUN 前要重新什么前面FROM前的ARG

ARG VERSION=latest
FROM busybox:$VERSION
ARG VERSION 
RUN echo $VERSION

docker 官网说明:

An ARG declared before a FROM is outside of a build stage, so it can’t be used in any instruction after a FROM. To use the default value of an ARG declared before the first FROM use an ARG instruction without a value inside of a build stage:
https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值