溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Dockerfile常用指令指的是什么

發(fā)布時(shí)間:2021-11-19 11:07:02 來源:億速云 閱讀:123 作者:柒染 欄目:云計(jì)算

本篇文章為大家展示了Dockerfile 常用指令指的是什么,內(nèi)容簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

下面列出了 Dockerfile 中最常用的指令。

FROM
指定 base 鏡像。

MAINTAINER
設(shè)置鏡像的作者,可以是任意字符串。

COPY
將文件從 build context 復(fù)制到鏡像。
COPY 支持兩種形式:

  1. COPY src dest

  2. 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è)資訊頻道。

向AI問一下細(xì)節(jié)

免責(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)容。

AI