溫馨提示×

溫馨提示×

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

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

Dockerfile基礎(chǔ)命令有哪些

發(fā)布時(shí)間:2021-12-13 11:57:58 來源:億速云 閱讀:141 作者:iii 欄目:云計(jì)算

本篇內(nèi)容介紹了“Dockerfile基礎(chǔ)命令有哪些”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

Dockerfile基礎(chǔ)命令

FROM - 基于基準(zhǔn)鏡像

FROM centos #制作基準(zhǔn)鏡像(基于centos:latest)
FROM scratch #不依賴任何基準(zhǔn)鏡像 (base image),從零構(gòu)建
FROM tomcat:9.0.22-jdk8-openjdk

LABEL & MAINTAINER - 說明信息

MAINTAINER 3337777777.com  #個人或機(jī)構(gòu)名稱
LABEL version="1.0"
LABEL description="三分天注定,七分靠打拼"

WORKDIR - 設(shè)置工作目錄

WORKDIR /usr/local
WORKDIR /usr/local/newdir  #目標(biāo)目錄不存在,會自動創(chuàng)建
#盡量使用絕對路徑

ADD & COPY - 復(fù)制文件

ADD hello /  #復(fù)制到跟路徑
ADD test.tar.gz /   #添加到更目錄并解壓
#ADD 除了復(fù)制,還具備添加遠(yuǎn)程文件功能

ENV - 設(shè)置環(huán)境常量

ENV JAVA_HOME /usr/local/openjdk8
RUN ${JAVA_HOME}/bin/java -jar test.jar
#盡量使用環(huán)境常量,可提高程序維護(hù)性

Dockerfile執(zhí)行指令

RUN & CMD & ENTRYPOINT

RUN:在Build構(gòu)建時(shí)執(zhí)行命令

ENTRYPOINT:容器啟動時(shí)執(zhí)行的命令

CMD:容器啟動后執(zhí)行默認(rèn)的命令或參數(shù)

區(qū)別:不同執(zhí)行時(shí)機(jī)

Dockerfile基礎(chǔ)命令有哪些

RUN - 構(gòu)建時(shí)運(yùn)行

RUN yum install -y vim  #shell命令格式
RUN ["yum","install","-y","vim"] #exec命令格式

為什么Docker要為RUN采用兩種書寫格式呢?

這涉及到linux系統(tǒng)的一些底層原理。

Shell運(yùn)行方式

Dockerfile基礎(chǔ)命令有哪些

Exec運(yùn)行方式

使用Exec方式,會用Exec進(jìn)程替換當(dāng)前進(jìn)程,并且保持PID不變;

執(zhí)行完畢,直接退出,并不會退回之前的進(jìn)程環(huán)境。

Dockerfile基礎(chǔ)命令有哪些  =>Dockerfile基礎(chǔ)命令有哪些

在不清楚使用哪種方式的情況下,推薦使用Exec格式。

ENTRYPOINT - 啟動命令

ENTRYPOINT(入口點(diǎn))用于在容器啟動時(shí)執(zhí)行命令

Dockerfile中只有最后一個ENTRYPOINT會被執(zhí)行

ENTRYPOINT ["ps"]  #推薦使用Exec格式

CMD - 默認(rèn)命令

CMD用于設(shè)置默認(rèn)執(zhí)行的命令

如Dockerfile中出現(xiàn)多個CMD,則只有最后一個執(zhí)行

如容器啟動時(shí)附加指令,則CMD被忽略

CMD ["ps","-ef"]  #推薦使用Exec格式

ENTRYPOINT和CMD聯(lián)合使用

FROM centos
ENTRYPOINT ["ps"]
CMD ["-ef"]
#這時(shí)ENTRYPOINT會和CMD聯(lián)合使用  ps -ef

“Dockerfile基礎(chǔ)命令有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

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

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI