您好,登錄后才能下訂單哦!
本篇文章為大家展示了Dockerfile 常用指令指的是什么,內(nèi)容簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
下面列出了 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 等),文件會(huì)被自動(dòng)解壓到 dest。
ENV
設(shè)置環(huán)境變量,環(huán)境變量可被后面的指令使用。例如:
...
ENV MY_VERSION 1.3
RUN apt-get install -y mypackage=$MY_VERSION
...
EXPOSE
指定容器中的進(jìn)程會(huì)監(jiān)聽某個(gè)端口,Docker 可以將該端口暴露出來。我們會(huì)在容器網(wǎng)絡(luò)部分詳細(xì)討論。
VOLUME
將文件或目錄聲明為 volume。我們會(huì)在容器存儲(chǔ)部分詳細(xì)討論。
WORKDIR
為后面的 RUN, CMD, ENTRYPOINT, ADD 或 COPY 指令設(shè)置鏡像中的當(dāng)前工作目錄。
RUN
在容器中運(yùn)行指定的命令。
CMD
容器啟動(dòng)時(shí)運(yùn)行指定的命令。
Dockerfile 中可以有多個(gè) CMD 指令,但只有最后一個(gè)生效。CMD 可以被 docker run 之后的參數(shù)替換。
ENTRYPOINT
設(shè)置容器啟動(dòng)時(shí)運(yùn)行的命令。
Dockerfile 中可以有多個(gè) ENTRYPOINT 指令,但只有最后一個(gè)生效。CMD 或 docker run 之后的參數(shù)會(huì)被當(dāng)做參數(shù)傳遞給 ENTRYPOINT。
下面我們來看一個(gè)較為全面的 Dockerfile
注:Dockerfile 支持以“#”開頭的注釋。
構(gòu)建鏡像:
① 構(gòu)建前確保 build context 中存在需要的文件。
② 依次執(zhí)行 Dockerfile 指令,完成構(gòu)建。
運(yùn)行容器,驗(yàn)證鏡像內(nèi)容:
① 進(jìn)入容器,當(dāng)前目錄即為 WORKDIR。
如果 WORKDIR 不存在,Docker 會(huì)自動(dòng)為我們創(chuàng)建。
② WORKDIR 中保存了我們希望的文件和目錄:
目錄 bunch:由 ADD 指令從 build context 復(fù)制的歸檔文件 bunch.tar.gz,已經(jīng)自動(dòng)解壓。
文件 tmpfile1:由 RUN 指令創(chuàng)建。
文件 tmpfile2:由 COPY 指令從 build context 復(fù)制。
③ ENV 指令定義的環(huán)境變量已經(jīng)生效。
在上面這些指令中,RUN、CMD、ENTRYPOINT 很重要且容易混淆,下節(jié)專門討論。
上述內(nèi)容就是Dockerfile 常用指令指的是什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。