Dockerfile中的ARG指令详解

本文详细介绍了Dockerfile中的ARG指令用法,包括如何定义构建时所需的参数及其默认值,如何在docker build命令中为这些参数赋值,以及在Dockerfile中提前使用未赋值参数时的行为。此外,还特别提醒不要通过ARG传递敏感信息,并列举了Docker预定义的一些代理相关的ARG参数。

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

Dockerfile中的ARG指令用以定义构建时需要的参数,使用格式如下:

ARG a_name
ARG a_nother_name=a_default_value

ARG指令定义的参数,在docker build命令中以--build-arg a_name=a_value形式赋值。

如果docker build命令传递的参数,在Dockerfile中没有对应的参数,将抛出如下警告:

[Warning] One or more build-args [foo] were not consumed.

如果在Dockerfile中,ARG指令定义参数之前,就有其他指令引用了参数,则参数值为空字符串。
不建议在构建的过程中,以参数的形式传递保密信息,如key, password等。


Docker自带的如下ARG参数,可以在其他指令中直接引用:

  • HTTP_PROXY
  • http_proxy
  • HTTPS_PROXY
  • https_proxy
  • FTP_PROXY
  • ftp_proxy
  • NO_PROXY
  • no_proxy

参考链接:

https://docs.docker.com/engine/reference/builder/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值