docker中CMD和ENTRYPOINT區(qū)別
ENTRYPOINT 簡(jiǎn)介
ENTRYPOINT 容器啟動(dòng)后執(zhí)行的命令,讓容器執(zhí)行表現(xiàn)的像一個(gè)可執(zhí)行程序一樣,與CMD 的 區(qū) 別 是 不 可 以 被 docker run 覆 蓋 , 會(huì) 把 docker run 后 面 的 參 數(shù) 當(dāng) 作 傳 遞 給
ENTRYPOINT 指令的參數(shù)。
Dockerfile 中只能指定一個(gè) ENTRYPOINT,如果指定了很多,只 有 最 后 一 個(gè) 有 效 。 docker run 命 令 的 -entrypoint 參 數(shù) 可 以 把 指 定 的 參 數(shù) 繼 續(xù) 傳 遞 給ENTRYPOINT

CMD簡(jiǎn)介

案例(下面基于centos這個(gè)基礎(chǔ)鏡像構(gòu)建一個(gè)鏡像測(cè)試CMD命令)
1)在/opt/dockerfile目錄下創(chuàng)建一個(gè)Dockerfile文件

#基于我們從阿里云下載下來的centos基礎(chǔ)鏡像 FROM centos CMD ["/bin/echo","this is test cmd"]
2)使用dockerfile構(gòu)建鏡像
命令:docker build -f /opt/dockerfile/mydockerfile-test -t cmdtest:v1.0 .

3)啟動(dòng)剛剛創(chuàng)建的鏡像
命令:docker run -it 鏡像id

可以看到,/bin/echo This is test cmd 這條命令成功執(zhí)行.
直接進(jìn)入container里面,而不執(zhí)行echo指令,可以在docker run 后面直接加上/bin/bash命令,/bin/bash命令會(huì)覆蓋掉cmd后面的命令。

/bin/bash 命令覆蓋掉了dockerfile中的cmd命令,直接進(jìn)入到了container中。
案例(下面基于centos這個(gè)基礎(chǔ)鏡像構(gòu)建一個(gè)鏡像測(cè)試ENTRYPOINT命令)
1)在/opt/dockerfile目錄下創(chuàng)建一個(gè)Dockerfile文件

#基于我們從阿里云下載下來的centos基礎(chǔ)鏡像 FROM centos ENTRYPOINT ["/bin/echo","this is test entrypoint"]
2)使用dockerfile構(gòu)建鏡像

3)啟動(dòng)剛剛創(chuàng)建的鏡像
a: 直接在docker run 后面加參數(shù)/bin/bash,entrypoint會(huì)把/bin/bash當(dāng)成一個(gè)echo的字符串參數(shù),不會(huì)進(jìn)入到容器中。

b: 如果想覆蓋dockerfile中entrypoint指令,可以在docker run命令中加--entrypoint參數(shù)來指定。

可以發(fā)現(xiàn)不打印上面的內(nèi)容了,直接進(jìn)入容器
c:直接啟動(dòng)容器

到此這篇關(guān)于docker中CMD和ENTRYPOINT區(qū)別的文章就介紹到這了,更多相關(guān)docker CMD和ENTRYPOINT內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker使用jdk21啟動(dòng)jar包報(bào)錯(cuò)的解決方案
這篇文章主要介紹了docker使用jdk21啟動(dòng)jar包報(bào)錯(cuò)的解決方案,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-07-07
如何使用Docker部署FTP和Nginx并通過HTTP訪問FTP里的文件
本文介紹了如何使用Docker部署FTP服務(wù)器和Nginx,并通過HTTP訪問FTP中的文件,通過將FTP數(shù)據(jù)目錄掛載到Nginx容器內(nèi),Nginx可以提供文件列表和下載功能,推薦使用Docker Compose來管理容器2025-03-03
docker容器狀態(tài)的轉(zhuǎn)換實(shí)現(xiàn)
這篇文章主要介紹了docker容器狀態(tài)的轉(zhuǎn)換實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11
docker nginx 運(yùn)行后無法訪問的問題解決
這篇文章主要介紹了docker nginx 運(yùn)行后無法訪問的問題解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09
Docker Desktop更改鏡像存儲(chǔ)位置的實(shí)現(xiàn)
本文主要主要介紹了Docker Desktop更改鏡像存儲(chǔ)位置的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
docker通過Dockerfile構(gòu)建mysql鏡像的方法
這篇文章主要介紹了docker通過Dockerfile構(gòu)建mysql鏡像,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
docker+ddns實(shí)現(xiàn)動(dòng)態(tài)域名的示例代碼
本文主要介紹了Docker使用ddns-go實(shí)現(xiàn)動(dòng)態(tài)域名,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11

