您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

ARG或ENV,在这种情况下使用哪个?

ARG或ENV,在这种情况下使用哪个?

Dockerfile参考

ARG指令定义了一个变量,用户可以在构建时使用docker build命令使用该变量将--build-arg <varname>=<value>标志传递给构建器。

ENV指令将环境变量<key>设置为value <value>。从结果映像运行容器时, 使用设置的环境变量ENV将保留。

因此,如果您需要 构建时 自定义ARG则是最佳选择。 如果您需要运行时自定义(以不同的设置运行同一图像),ENV则非常适合。

如果我想添加扩展名或20个(随机数)或任何其他可以启用的功能

给定涉及的组合数量ENV最好在运行时设置这些功能

但是您可以通过以下两种方式将两者结合:

也就是说,使用包含以下内容的Dockerfile:

ARG var
ENV var=${var}

然后,您可以var在构建时(docker build --build-arg var=xxx)构建具有特定值的映像,也可以运行具有特定运行时值(docker run -e var=yyy)的容器

其他 2022/1/1 18:14:02 有530人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶