国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Docker之RUN、COMMAND、ENTRYPOINT辨析

這篇具有很好參考價(jià)值的文章主要介紹了Docker之RUN、COMMAND、ENTRYPOINT辨析。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一? 回顧docker一些命令

①? run create start 的辨析

docker 'run'   '等價(jià)'  docker 'create' && docker 'start'

容器(動(dòng)態(tài)) = 鏡像(靜態(tài)) '+' 讀寫層

1) create 命令為'指定的鏡像(image)'添加了一個(gè)'可讀寫層',構(gòu)成了一個(gè)'新'的容器

  注意:這個(gè)容器并'沒(méi)有'運(yùn)行

2) start命令為'容器文件系統(tǒng)'創(chuàng)建了一個(gè)'進(jìn)程'隔離空間

  注意:每一個(gè)容器'只能夠有一個(gè)'進(jìn)程隔離空間

3) run 命令'先是'利用鏡像創(chuàng)建了一個(gè)容器,然后'運(yùn)行'這個(gè)容器

  注意:這個(gè)命令'隱藏了'兩個(gè)'create、start'命令的細(xì)節(jié)

②? 獲取容器在宿主機(jī)的PID

docker inspect -f '{{ .State.Pid }}' container_name

備注: 在容器內(nèi)表現(xiàn)為'pid=1'

tail /proc/${Pid}/cmdline;echo  --> 查看'進(jìn)程信息'

docker inspect --format詳解?

③? 容器資源使用

1)直接  --> 使用docker stats命令來(lái)'顯示'容器使用的'系統(tǒng)資源'

  --no-stream :展示'當(dāng)前狀態(tài)'就直接退出了,不再實(shí)時(shí)更新

  --no-trunc  :'不截?cái)?輸出,會(huì)'動(dòng)態(tài)'刷新

 現(xiàn)象: 默認(rèn)情況下,stats 命令會(huì)'每隔 1 秒鐘'刷新一次輸出的內(nèi)容直到你按下 'ctrl + c'

 常用: docker stats --no-trunc container_id --> 可以查看'指定'container

2)間接  -->  核心是獲取'容器'所對(duì)應(yīng)所在宿主機(jī)'PID',就可以使用'top、pmap、ps'等命令

④? 查看容器的完整命令

docker ps --no-trunc               --> 顯示容器內(nèi)'服務(wù)啟動(dòng)''完整'的命令

docker ps -q                       --> '靜默'模式,只顯示'容器編號(hào)'

docker ps -s                       --> 查看容器所占的'磁盤'大小

docker rm ${docker ps -q -a}       --> 刪除全部'非運(yùn)行態(tài)'的容器

Docker之RUN、COMMAND、ENTRYPOINT辨析?

Docker之RUN、COMMAND、ENTRYPOINT辨析?

懸浮鏡像dangling image 產(chǎn)生的原因和處理方法

+++++++++++++++  "懸空鏡像的特征"  +++++++++++++++

1)* 沒(méi)有被其他鏡像'引用'
	
2) * 在'docker images'的輸出中,列'TAG'為'<none>'值

3) * 在'docker images'的輸出中,列''REPOSITORY''為可能有值

Docker之RUN、COMMAND、ENTRYPOINT辨析?

④? save 和 load

docker save -o (--output) *.tar   鏡像名  --> 一般將'鏡像'打成'tar'包  

備注: 也可以通過(guò) '>' 重定向保存

docker load -i (--input) images.tar     --> 將'tar'加載成鏡像

備注: 也可以通過(guò) '<' 讀取tar文件

⑤⑥⑦⑧⑨⑩?

二? ?Dockerfile指令的回顧

官網(wǎng)Dockerfile參考

①??Dockerfile指令之RUN

Docker之RUN、COMMAND、ENTRYPOINT辨析?

+++++++++++++++++ "重點(diǎn)" +++++++++++++++++

1)RUN 執(zhí)行的命令不是'宿主機(jī)的',而是'基鏡像'帶的

2)Dockerfile中可以有許'多個(gè)RUN命令',避免鏡像'過(guò)多'分層,一般使用一個(gè)RUN通過(guò)'&&'連接

   說(shuō)明: 每執(zhí)行一次'RUN',鏡像就'增加'一層

3)場(chǎng)景: 一般做一些'初始化'或'安裝'軟件的動(dòng)作

4)兩種'執(zhí)行'模式

  RUN <command>                          --> 'shell 模式(常用)'

  RUN ["executable", "param1", "param2"] --> 'exec' 模式 -->"json數(shù)組"、"雙引號(hào)"

Docker之RUN、COMMAND、ENTRYPOINT辨析?

②? Dockerfile指令之CMD

備注: 容器'啟動(dòng)'后執(zhí)行的'默認(rèn)'命令

Docker之RUN、COMMAND、ENTRYPOINT辨析

1)以"exec"模式運(yùn)行一個(gè)'可執(zhí)行'的文件并提供參數(shù)

2)作為'ENTRYPOINT'指定參數(shù)

3)以"shell form",也即以"/bin/sh -c"的方法執(zhí)行命令

Docker之RUN、COMMAND、ENTRYPOINT辨析?

+++++++++++++ "如何改變?nèi)萜鲉?dòng)命令的默認(rèn)行為"  +++++++++++++

1)通過(guò) docker run 傳遞 '命令或參數(shù)'

③? Dockerfile指令之ENTRYPOINT

Docker之RUN、COMMAND、ENTRYPOINT辨析

+++++++++++++++  'ENTRYPOINT和CMD'的'異同'點(diǎn)  +++++++++++++++

1)ENTRYPOINT 指令與 CMD 指令幾乎一樣,都是在容器啟動(dòng)時(shí)自動(dòng)執(zhí)行的指令,且只有'最后'一個(gè)有效

2)而 ENTRYPINT 與 CMD 的'不同', 主要體現(xiàn)在'兩'方面: 

 [1]、一是'ENTRYPOINT執(zhí)行的命令'不易被覆蓋,但是可以通過(guò)'--entrypoint覆蓋'

 [2]、 二是用于'用戶傳參'

  (1) docker run 中有[COMMAND],會(huì)'覆蓋'CMD指令,追加作為'ENTRYPOINT 指令'的參數(shù)

   場(chǎng)景: 需要'用戶傳參'進(jìn)行初始化

  (2) docker run 中'沒(méi)有'[COMAMND],此時(shí) CMD 指令的內(nèi)容便會(huì)成為ENTRYPOINT的'默認(rèn)'參數(shù)

docker run 官方參考

④? 三者辨析

CMD and ENTRYPOINT的辨析

Docker之RUN、COMMAND、ENTRYPOINT辨析

Docker之RUN、COMMAND、ENTRYPOINT辨析

⑤? k8s的command和args文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-460326.html

重點(diǎn): 理解為'docker run'傳遞的參數(shù)即可,但是有'細(xì)小'的差異

1)當(dāng)用戶'同時(shí)寫了command和args'的時(shí)候可以'覆蓋'Dockerfile的命令行和參數(shù)

 說(shuō)明: 同時(shí)覆蓋'CMD和ENTRYPOINT',推薦這種'dynamic'方式

2)如果command和args'均沒(méi)有寫',那么用Dockerfile'默認(rèn)'的配置

3)如果command寫了,但'args沒(méi)有寫',僅執(zhí)行.yml文件'不帶任何參數(shù)的'的command

 說(shuō)明: 同時(shí)覆蓋Dockerfile中的'CMD和ENTRYPOINT'

4)如果'command沒(méi)寫',但'args寫了',Docker'默認(rèn)'配置的ENTRYPOINT的命令行會(huì)'被執(zhí)行'

 說(shuō)明: 'args'追加為'ENTRYPOINT'的參數(shù)

重點(diǎn): 要了解'Dockerfile'的內(nèi)容,才能用k8s的'comamnd和args'更好的編排

到了這里,關(guān)于Docker之RUN、COMMAND、ENTRYPOINT辨析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • docker: CMD和ENTRYPOINT的區(qū)別

    ENTRYPOINT: 容器的執(zhí)行命令(屬于正統(tǒng)命令) 可以使用 --build-arg ENVIROMENT=integration 參數(shù)覆蓋 ocker build --build-arg ENVIROMENT=integration 兩者同時(shí)存在時(shí) CMD 作為 ENTRYPOINT 的默認(rèn)參數(shù)使用 外部提供參數(shù)會(huì)覆蓋 CMD 提供的參數(shù)。 CMD單獨(dú)存在時(shí) CMD 替代 ENTRYPOINT 作為容器的執(zhí)行命令 外部命

    2024年02月14日
    瀏覽(38)
  • Docker中,CMD 和 ENTRYPOINT 的區(qū)別,簡(jiǎn)單!明了!

    Docker中,CMD 和 ENTRYPOINT 的區(qū)別,簡(jiǎn)單!明了!

    目錄 CMD 和 ENTRYPOINT的區(qū)別:結(jié)論篇 CMD 和 ENTRYPOINT的其他細(xì)節(jié)結(jié)論 測(cè)試篇 一、 CMD的兩種格式完全等效,但是ENTRYPOINT兩種格式是有區(qū)別的 二、 docker run 命令替代了dockerfile的CMD命令 三、 docker run 命令在ENTRYPOINT的鍵值對(duì)格式下,是作為ENTRYPOINT命令的參數(shù),docker run wx-centos ls -

    2024年02月05日
    瀏覽(36)
  • Docker 制作 MySQL 鏡像并使用 `/docker-entrypoint-initdb.d/` 機(jī)制初始化數(shù)據(jù)

    Docker 制作 MySQL 鏡像并使用 `/docker-entrypoint-initdb.d/` 機(jī)制初始化數(shù)據(jù)

    制作一個(gè) MySQL Docker 鏡像并初始化數(shù)據(jù)庫(kù)信息 win 11 Docker-Desktop 4.14.0 (91374) 啟動(dòng)一個(gè)MySQL容器很容易。如何初始化數(shù)據(jù)呢? 大概我們會(huì)嘗試很多操作,比如百度常見到 使用 CMD 命令調(diào)用shell腳本,通過(guò)shell腳本處理初始化數(shù)據(jù)等等,經(jīng)過(guò)實(shí)踐,這些都不太方便。 其實(shí),MySQL 官方提

    2024年01月18日
    瀏覽(852)
  • Docker、Kubernetes(K8s)和KVM辨析

    Docker、Kubernetes(K8s)和KVM都是虛擬化技術(shù),但它們各自的應(yīng)用場(chǎng)景和功能有所不同。 Docker是一種輕量級(jí)的虛擬化技術(shù),它允許開發(fā)者將應(yīng)用程序及其依賴項(xiàng)打包到一個(gè)可移植的容器中,然后在任何運(yùn)行Docker的服務(wù)器上部署。與傳統(tǒng)的虛擬機(jī)相比,Docker容器提供了一種輕量級(jí)

    2024年02月21日
    瀏覽(54)
  • docker 系列之 Dockerfile 文件里 cmd命令與entrypoint命令區(qū)別

    docker 系列之 Dockerfile 文件里 cmd命令與entrypoint命令區(qū)別

    cmd給出的是一個(gè)容器的默認(rèn)的可執(zhí)行體。也就是容器啟動(dòng)以后,默認(rèn)的執(zhí)行的命令。重點(diǎn)就是這個(gè)“默認(rèn)”。意味著,如果docker run沒(méi)有指定任何的執(zhí)行命令或者dockerfile里面也沒(méi)有entrypoint,那么,就會(huì)使用cmd指定的默認(rèn)的執(zhí)行命令執(zhí)行。同時(shí)也從側(cè)面說(shuō)明了entrypoint的含義,它

    2024年02月05日
    瀏覽(17)
  • 使用docker-compose啟動(dòng)docker鏡像報(bào)錯(cuò)exec ./docker-entrypoint.sh: no such file or directory

    使用docker-compose啟動(dòng)docker鏡像報(bào)錯(cuò)exec ./docker-entrypoint.sh: no such file or directory

    報(bào)錯(cuò)原因:exec ./docker-entrypoint.sh: no such file or directory 我們可以在linux下通過(guò)cat -v命令查看.sh文件 ? 例: cat -v Dockerfile ? ? ? ? WORKDIR /tools/*******/^M ????????RUN chmod a+x /tools/*********/docker-entrypoint.sh^M ????????ENTRYPOINT [\\\"./docker-********.sh\\\"]^M 這種后綴有^M的即為編碼錯(cuò)誤造成的

    2024年02月15日
    瀏覽(29)
  • docker容器日志報(bào)錯(cuò):/docker-entrypoint.sh: exec: line 10: /bin/bash: not found(去掉/bin/bash)

    docker容器日志報(bào)錯(cuò):/docker-entrypoint.sh: exec: line 10: /bin/bash: not found(去掉/bin/bash)

    這個(gè)錯(cuò)誤提示表明eclipse-mosquitto鏡像生成的容器內(nèi)部找不到 /bin/bash 這個(gè)命令,可能是由于在容器鏡像中沒(méi)有安裝 Bash 或在執(zhí)行腳本時(shí)路徑不正確導(dǎo)致的。如果你使用的是官方的 eclipse-mosquitto 鏡像,那么這個(gè)問(wèn)題一般不會(huì)出現(xiàn)。 如果你在 Dockerfile 中指定了自己的 ENTRYPOINT 或

    2024年02月09日
    瀏覽(29)
  • 【Docker】docker run 命令詳解

    Docker運(yùn)行命令是在Docker中啟動(dòng)容器的主要方式之一。它是Docker CLI(命令行界面)中的基本命令之一,用于啟動(dòng)容器。 在這個(gè)語(yǔ)法中,“OPTIONS”包含了一些參數(shù),用于配置和控制容器的各種方面?!癐MAGE”是要使用的Docker鏡像?!癈OMMAND”是在容器內(nèi)執(zhí)行的命令,“ARG”是該命

    2024年02月16日
    瀏覽(22)
  • docker run 與 docker start區(qū)別

    說(shuō)明, docker run 和docker start 都是運(yùn)行一個(gè)docker容器, 區(qū)別在于 1. docker run (使用鏡像image) 2. docker start (使用容器ID或是容器NAMES)

    2024年02月14日
    瀏覽(23)
  • docker pull、docker load、docker run使用方法

    docker pull是從網(wǎng)絡(luò)上下載鏡像。對(duì)于鏡像來(lái)說(shuō),如果不顯式地指定tag,則默認(rèn)會(huì)選擇latest標(biāo)簽,即下載倉(cāng)庫(kù)中最新版本的鏡像。 這里以下載nvidiadocker為例: 執(zhí)行上方命令就可以下載這個(gè)連接中的鏡像了 下載后可以使用 命令查看本機(jī)所有鏡像,上方下載的鏡像也會(huì)顯示出來(lái)。

    2023年04月13日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包