Dockerfile中ENV如何使用

Dockerfile中 ENV如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的民权网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

ENV 指令的格式如下:

ENV <key>=<value> ...

ENV 指令将环境变量 <key> 设置为值 <value>。这个值将在构建阶段的所有后续指令的环境中, 也可以被替换使用在其他指令中。 该值将被解释为其他环境变量,因此如果引号字符没有转义,它们将被删除。像命令行解析一样,引号和反斜杠可以用于在值中包含空格。

例如:

ENV MY_NAME="John Doe"
ENV MY_DOG=Rex\ The\ Dog
ENV MY_CAT=fluffy

ENV 指令允许多个 <key>=<value> ... 变量同时设置,下面的例子将在生成的镜像中产生相同的结果:

ENV MY_NAME="John Doe" MY_DOG=Rex\ The\ Dog \
    MY_CAT=fluffy

当使用生成的镜像运行容器时,使用 ENV 设置的环境变量将持久存在于容器内。 你可以使用 docker inspect 查看这些值,并使用 docker run --env <key>=<value> 修改它们。

环境变量持久性可能会导致意想不到的副作用。 例如,设置 ENV DEBIAN_FRONTEND=noninteractive 会改变 apt-get 的行为,并可能让使用镜像的用户感到困惑。

如果只在构建过程中需要环境变量,而不是在最终镜像中,请考虑为单个命令设置一个值:

RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y ...

或者使用 ARG,它不会在最终镜像中持久存在:

ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y ...

替代语法

ENV 指令还允许另一种语法 ENV <key> <value>,省略了中间的等号。例如:

ENV MY_VAR my-value

这种语法不允许在一条 ENV 指令中设置多个环境变量,可能会造成混淆。例如,下面的代码设置了一个值为“TWO= THREE=world”的环境变量(ONE):

ENV ONE TWO= THREE=world

支持这种替代语法为了向后兼容,但由于上述原因不鼓励使用,可能会在将来的版本中删除。

看完上述内容,你们掌握Dockerfile中 ENV如何使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!

当前题目:Dockerfile中ENV如何使用
浏览路径:https://www.cdcxhl.com/article6/iedeig.html

成都网站建设公司_创新互联,为您提供静态网站网站建设App开发电子商务定制开发品牌网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营