Dockerfile?ENV語法使用指南
Dockerfile 進(jìn)行構(gòu)建鏡像
當(dāng)使用 Dockerfile 進(jìn)行構(gòu)建鏡像時(shí),有時(shí)會(huì)需要設(shè)置容器內(nèi)的環(huán)境變量。
ENV 指令的格式
ENV <key>=<value> ...
ENV
指令將環(huán)境變量 <key>
設(shè)置為值 <value>
。這個(gè)值將在構(gòu)建階段的所有后續(xù)指令的環(huán)境中,
也可以被替換使用在其他指令中。
該值將被解釋為其他環(huán)境變量,因此如果引號(hào)字符沒有轉(zhuǎn)義,它們將被刪除。像命令行解析一樣,引號(hào)和反斜杠可以用于在值中包含空格。
例如:
ENV MY_NAME="John Doe" ENV MY_DOG=Rex\ The\ Dog ENV MY_CAT=fluffy
ENV
指令允許多個(gè) <key>=<value> ...
變量同時(shí)設(shè)置,下面的例子將在生成的鏡像中產(chǎn)生相同的結(jié)果:
ENV MY_NAME="John Doe" MY_DOG=Rex\ The\ Dog \ MY_CAT=fluffy
當(dāng)使用生成的鏡像運(yùn)行容器時(shí),使用 ENV
設(shè)置的環(huán)境變量將持久存在于容器內(nèi)。
你可以使用 docker inspect
查看這些值,并使用 docker run --env <key>=<value>
修改它們。
環(huán)境變量持久性
可能會(huì)導(dǎo)致意想不到的副作用。
例如,設(shè)置 ENV DEBIAN_FRONTEND=noninteractive
會(huì)改變 apt-get
的行為,并可能讓使用鏡像的用戶感到困惑。
如果只在構(gòu)建過程中需要環(huán)境變量,而不是在最終鏡像中,請(qǐng)考慮為單個(gè)命令設(shè)置一個(gè)值:
RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y ...
或者使用 ARG
,它不會(huì)在最終鏡像中持久存在:
ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y ...
替代語法
ENV
指令還允許另一種語法 ENV <key> <value>
,省略了中間的等號(hào)。例如:
ENV MY_VAR my-value
這種語法不允許在一條 ENV
指令中設(shè)置多個(gè)環(huán)境變量,可能會(huì)造成混淆。例如,下面的代碼設(shè)置了一個(gè)值為“TWO= THREE=world”的環(huán)境變量(ONE):
ENV ONE TWO= THREE=world
支持這種替代語法為了向后兼容,但由于上述原因不鼓勵(lì)使用,可能會(huì)在將來的版本中刪除。
以上就是Dockerfile ENV語法使用指南的詳細(xì)內(nèi)容,更多關(guān)于Dockerfile ENV使用指南的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
PVE下擴(kuò)展openwrt?for?x86分區(qū)大小方式
本文介紹了在PVE環(huán)境下如何對(duì)OpenWRT虛擬機(jī)的分區(qū)進(jìn)行擴(kuò)容,包括磁盤調(diào)整、軟件安裝、分區(qū)配置和系統(tǒng)引導(dǎo)等步驟,操作前需做好備份,以防數(shù)據(jù)丟失2024-10-10解決docker報(bào)錯(cuò)Encountered errors while bringing&n
這篇文章主要介紹了解決docker報(bào)錯(cuò)Encountered errors while bringing up the project實(shí)測(cè)有效!具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03zabbix監(jiān)控docker應(yīng)用配置
今天通過本文給大家分享zabbix監(jiān)控docker容器的原理及部署的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-07-07詳解Docker Swarm服務(wù)發(fā)現(xiàn)和負(fù)載均衡原理
這篇文章主要介紹了詳解Docker Swarm服務(wù)發(fā)現(xiàn)和負(fù)載均衡原理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05