您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Dockerfile基礎(chǔ)命令有哪些”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
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ù)性
RUN & CMD & ENTRYPOINT
RUN:在Build構(gòu)建時(shí)執(zhí)行命令
ENTRYPOINT:容器啟動時(shí)執(zhí)行的命令
CMD:容器啟動后執(zhí)行默認(rèn)的命令或參數(shù)
區(qū)別:不同執(zhí)行時(shí)機(jī)
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)行方式
Exec運(yùn)行方式
使用Exec方式,會用Exec進(jìn)程替換當(dāng)前進(jìn)程,并且保持PID不變;
執(zhí)行完畢,直接退出,并不會退回之前的進(jìn)程環(huán)境。
=>
在不清楚使用哪種方式的情況下,推薦使用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í)用文章!
免責(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)容。