003-Dockerfile-ENV

本文详细介绍了Dockerfile中的ENV指令用法,包括两种语法格式及其在环境变量设置中的作用。通过示例展示了如何在Dockerfile中定义环境变量,以及这些变量在容器运行时的应用。

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

语法

语法 1

ENV <key> <value>

语法 2

ENV <key>=<value> ...

作用 & 描述

ENV 指令将设置 形式的环境变量。此值将在所有后续 Dockerfile 命令的环境中,并且可以在许多内联替换

ENV 指令有两种形式。第一种形式,ENV 将单个变量设置为一个值。第一个空格后面的整个字符串将被视为-包括空格和引号等字符串;

第二种形式 ENV = … 允许一次设置多个变量。请注意,第二种形式在语法中使用等号(=),而第一种形式则不然。与命令行解析一样,引号和反斜杠可用于在值内包含空格;

定义的环境变量在后续 Dockerfile 中可以使用 $key 的形式使用该环境变量;

ENV 从生成的镜像运行容器时,使用的环境变量将保持不变。可以使用 docker inspect 查看值,并可以使用 docker run --env = 进行更改。

示例

示例 1

ENV myName="John Doe" myDog=Rex\ The\ Dog \
    myCat=fluffy

示例 2

ENV myName John Doe
ENV myDog Rex The Dog
ENV myCat fluffy

示例 1 和 示例 2 将在最终镜像中产生相同纯净的结果,但第一种形式是首选,因为它产生单个缓存层。

注意

注意 1

环境持久性可能会导致意外的副作用。例如,设置 ENV DEBIAN_FRONTEND noninteractive 可能会使基于 Debian 的镜像上的 apt-get 用户感到困惑。要为单个命令设置值,请使用 RUN =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值