中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Dockerfile中 ENV如何使用

發布時間:2021-08-05 16:43:42 來源:億速云 閱讀:874 作者:Leah 欄目:編程語言

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如何使用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

建阳市| 容城县| 司法| 宝坻区| 大荔县| 神农架林区| 潮州市| 五常市| 道孚县| 涿鹿县| 杭州市| 蓬溪县| 阜康市| 苏尼特左旗| 灵台县| 汾阳市| 崇礼县| 陈巴尔虎旗| 庆云县| 郧西县| 泰兴市| 土默特左旗| 东宁县| 阿鲁科尔沁旗| 东阳市| 图们市| 英山县| 阳信县| 定襄县| 迭部县| 景德镇市| 鸡泽县| 绥江县| 苏尼特右旗| 观塘区| 县级市| 鹤岗市| 独山县| 永春县| 正安县| 玉树县|