云计算核心技术Docker教程:Dockerfile文件ARG命令详解

发布时间:2025-11-25 点击:12
dockerfile 中的 arg 指令是定义参数名称,以及定义其默认值。该默认值可以在构建命令 docker build 中用 –build-arg 参数名=值 来覆盖。
语法格式
arg 参数名[=默认值]
dockerfile文件arg指令构建参数和 env 的效果一样,都是设置环境变量。所不同的是,arg 所设置的构建环境的环境变量,在将来容器运行时是不会存在这些环境变量的。但是不要因此就使用 arg 保存密码之类的信息,因为 docker history 还是可以看到所有值的。
例如dockerfile为变量指定一个默认值:
from busybox
arg user1=someuser
arg buildno=1

docker有一组预设置的arg变量,不需要在dockerfile中定义就能够使用它。
http_proxy
http_proxy
https_proxy
https_proxy
ftp_proxy
ftp_proxy
no_proxy
no_proxy
要设置这些变量,可以在命令行赋值
–build-arg varname=value
在 1.13 之前的版本,要求 –build-arg 中的参数名,必须在 dockerfile 中用 arg 定义过了,换句话说,就是 –build-arg 指定的参数,必须在 dockerfile 中使用了。如果对应参数没有被使用,则会报错退出构建。从 1.13 开始,这种严格的限制被放开,不再报错退出,而是显示警告信息,并继续构建。这对于使用 ci 系统,用同样的构建流程构建不同的 dockerfile 的时候比较有帮助,避免构建命令必须根据每个 dockerfile 的内容修改。

华南购买云服务器解析是什么
云服务器怎么安装d盘
上级审核退回了原因域名没有通过国家批复的域名注册机构注册
我公司的域名被你们的无良代理商苏州书生商友去年不转移给我们
备案的核验需要人像眨眨眼这个操作吗
青瓜早报:字节跳动或分拆TikTok为美国公司;?微信更新:公众号视频有弹幕,撤回…
我问下我的幕布到哪里了-备案平台
公司建网站需着重思考的必要因素