本篇文章為大家展示了Dockerfile 常用指令指的是什么,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
為企業(yè)提供網(wǎng)站設(shè)計、網(wǎng)站制作、網(wǎng)站優(yōu)化、成都全網(wǎng)營銷、競價托管、品牌運營等營銷獲客服務(wù)。創(chuàng)新互聯(lián)建站擁有網(wǎng)絡(luò)營銷運營團隊,以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗助力企業(yè)精準獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認可!
下面列出了 Dockerfile 中最常用的指令。
FROM
指定 base 鏡像。
MAINTAINER
設(shè)置鏡像的作者,可以是任意字符串。
COPY
將文件從 build context 復(fù)制到鏡像。
COPY 支持兩種形式:
COPY src dest
COPY ["src", "dest"]
注意:src 只能指定 build context 中的文件或目錄。
ADD
與 COPY 類似,從 build context 復(fù)制文件到鏡像。不同的是,如果 src 是歸檔文件(tar, zip, tgz, xz 等),文件會被自動解壓到 dest。
ENV
設(shè)置環(huán)境變量,環(huán)境變量可被后面的指令使用。例如:
...
ENV MY_VERSION 1.3
RUN apt-get install -y mypackage=$MY_VERSION
...
EXPOSE
指定容器中的進程會監(jiān)聽某個端口,Docker 可以將該端口暴露出來。我們會在容器網(wǎng)絡(luò)部分詳細討論。
VOLUME
將文件或目錄聲明為 volume。我們會在容器存儲部分詳細討論。
WORKDIR
為后面的 RUN, CMD, ENTRYPOINT, ADD 或 COPY 指令設(shè)置鏡像中的當前工作目錄。
RUN
在容器中運行指定的命令。
CMD
容器啟動時運行指定的命令。
Dockerfile 中可以有多個 CMD 指令,但只有最后一個生效。CMD 可以被 docker run 之后的參數(shù)替換。
ENTRYPOINT
設(shè)置容器啟動時運行的命令。
Dockerfile 中可以有多個 ENTRYPOINT 指令,但只有最后一個生效。CMD 或 docker run 之后的參數(shù)會被當做參數(shù)傳遞給 ENTRYPOINT。
下面我們來看一個較為全面的 Dockerfile
注:Dockerfile 支持以“#”開頭的注釋。
構(gòu)建鏡像:
① 構(gòu)建前確保 build context 中存在需要的文件。
② 依次執(zhí)行 Dockerfile 指令,完成構(gòu)建。
運行容器,驗證鏡像內(nèi)容:
① 進入容器,當前目錄即為 WORKDIR。
如果 WORKDIR 不存在,Docker 會自動為我們創(chuàng)建。
② WORKDIR 中保存了我們希望的文件和目錄:
目錄 bunch:由 ADD 指令從 build context 復(fù)制的歸檔文件 bunch.tar.gz,已經(jīng)自動解壓。
文件 tmpfile1:由 RUN 指令創(chuàng)建。
文件 tmpfile2:由 COPY 指令從 build context 復(fù)制。
③ ENV 指令定義的環(huán)境變量已經(jīng)生效。
在上面這些指令中,RUN、CMD、ENTRYPOINT 很重要且容易混淆,下節(jié)專門討論。
上述內(nèi)容就是Dockerfile 常用指令指的是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。