今天給大家繼續(xù)分享Docker相關(guān)的知識(shí),今天主要介紹Docker運(yùn)行原理以及生命周期,希望對(duì)大家能有所幫助!1、Docker底層運(yùn)行原理
Docker基于客戶端(容器)-服務(wù)器(Docker引擎)結(jié)構(gòu)的系統(tǒng),Docker的守護(hù)進(jìn)程運(yùn)行在宿主主機(jī)上,客戶端(容器)通過Socket向Docker引擎發(fā)送相應(yīng)的指令,Docker服務(wù)器就會(huì)執(zhí)行相應(yīng)的命令。Docker會(huì)以root權(quán)限運(yùn)行它的守護(hù)進(jìn)程,來處理普通Linux用戶無法完成的操作(如掛載文件系統(tǒng)等操作)。2、Docker執(zhí)行run命令的流程
- 本地沒有找到鏡像,然后根據(jù)Docker引擎配置的倉庫地址,遠(yuǎn)程去查找鏡像。
- 遠(yuǎn)程查詢到鏡像,把鏡像下載到本地,然后啟動(dòng)鏡像
- 遠(yuǎn)程查詢到鏡像,Docker返回錯(cuò)誤,提示鏡像遠(yuǎn)程未找到。
- 運(yùn)行中的鏡像支持:停止、啟動(dòng)、重啟、刪除(先停止才可以刪除)操作。
3、Docker容器的生命周期
Docker容器主要有以下7個(gè)狀態(tài):- created:已創(chuàng)建,還未運(yùn)行的容器
- dead:死亡,主要是操作系統(tǒng)出現(xiàn)異?;蛘邤嚯婈P(guān)機(jī)等有可能引發(fā)dead狀態(tài),不是很常見。
- docker pause 命令掛起指定容器中的所有進(jìn)程
- docker stop 容器內(nèi)主進(jìn)程會(huì)在指定時(shí)間內(nèi)被殺死,默認(rèn)為10s后。
4、Docker操作容器命令示例
[root@ecs-337444 ~]# docker create --name tomcattest tomcat:8.5.38
1b6a0f79e3d3b030c3f5fc1b170f6205815c16a363cafc72f0b927e846f73cf5
docker ps -f status=created # 根據(jù)狀態(tài)檢索docker ps -a -f name=tomcattest #根據(jù)容器名檢索[root@ecs-337444 ~]# docker ps -a -f name=tomcattest
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
54ae70aca0db tomcat:8.5.38 "catalina.sh run" 6 minutes ago Created tomcattest
docker start tomcattest #啟動(dòng)容器
docker pause tomcattest #暫停容器docker unpause tomcattest # 取消暫停docker stop tomcattest #停止容器docker rm tomcattest #刪除容器IT技術(shù)分享社區(qū)
個(gè)人博客網(wǎng)站:https://programmerblog.xyz
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。