關(guān)于Docker容器Dead狀態(tài)的分析
Docker容器Dead狀態(tài)分析
報(bào)錯(cuò)
[root@docker ~]# docker rm -f nginx-web
Error response from daemon: Driver devicemapper failed to remove root filesystem 2205f0562812bf3007155f3bb2670508783e23d12428e31fa42caa0d8f68ca22: remove /data01/var/lib/docker/devicemapper/mnt/01bf74d1cd26d2fed52d2eb2f881acd0401431952e7c115ffc3107311c191341: device or resource busy
原因分析
掛載泄露
解決方法(一)
這種方式會(huì)有刪除不掉的情況,所以在用在這種方式刪除前重啟服務(wù)器,那么就能刪除掉.
docker stop share-mnt 1>/dev/null 2>&1 | exit 0 docker rm -f share-mnt 1>/dev/null 2>&1 | exit 0
解決方法(二)
先到docker目錄 一般在 /var/lib/docker 刪除相應(yīng)文件夾目錄
grep docker /proc/*/mountinfo | grep nginx-web | awk -F':' '{print $1}' | awk -F'/' '{print $3}'
查出進(jìn)程號(hào),然后使用kill -9 ID .
再使用docker rm -f ID/name 刪除掉 .
有時(shí)候測(cè)試的時(shí)候會(huì)生成大量的容器,一個(gè)一個(gè)停用然后刪除沒(méi)有效率.
停用全部運(yùn)行中的容器: docker stop $(docker ps -q) 刪除全部容器: docker rm $(docker ps -aq) 一條命令實(shí)現(xiàn)停用并刪除容器: docker stop $(docker ps -q) & docker rm $(docker ps -aq)
報(bào)錯(cuò)
Error response from daemon: conflict: unable to delete d8638d086558 (cannot be forced) - image has dependent child images
在刪除鏡像之前要先用 docker rm 刪掉依賴于這個(gè)鏡像的所有容器(哪怕是已經(jīng)停止的容器),否則無(wú)法刪除該鏡像.
停止容器 # docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }') 刪除容器 # docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }') 刪除鏡像 # docker rmi $(docker images | grep "none" | awk '{print $3}')
Docker刪除dead狀態(tài)的容器
出現(xiàn)原因:由于容器掛載數(shù)據(jù)卷,無(wú)法直接刪除
其現(xiàn)象如下:
docker ps -a
docker rm ytn
解決方法1:嘗試強(qiáng)制刪除 docker rm -f ytn
解決方法2:先查出其進(jìn)程,kill掉,在進(jìn)行刪除
1.查 ,復(fù)制上圖白底部分,用以下命令進(jìn)行查找
grep 00979f0816bf1c1df375fad83dbf3d023243728345ae9b81bc3b0f1762b15af8 /proc/*/mountinfo
結(jié)果:
2.kill進(jìn)程
kill -9 7018 kill -9 7019
3.再次查看,確認(rèn)已經(jīng)kill完
grep 00979f0816bf1c1df375fad83dbf3d023243728345ae9b81bc3b0f1762b15af8 /proc/*/mountinfo
4.再次刪除容器
docker rm ytn
刪除成功。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker網(wǎng)絡(luò)之部署redis集群方式
文章介紹了如何部署和測(cè)試Redis集群,包括創(chuàng)建配置文件、啟動(dòng)容器、查看集群信息以及模擬節(jié)點(diǎn)故障進(jìn)行測(cè)試2025-01-01Docker下安裝Mongo4.2及客戶端工具連接Mongo
這篇文章主要介紹了Docker下安裝Mongo4.2和客戶端工具連接Mongo數(shù)據(jù)庫(kù)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01docker 的java編譯環(huán)境構(gòu)建詳細(xì)介紹
這篇文章主要介紹了docker 的java編譯環(huán)境構(gòu)建詳細(xì)介紹的相關(guān)資料,具有一定的參考價(jià)值,需要的朋友可以參考下2016-11-11docker?mysql5.7如何設(shè)置不區(qū)分大小寫
本文主要介紹了docker?mysql5.7如何設(shè)置不區(qū)分大小寫,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07WIN10系統(tǒng)和Docker內(nèi)部容器IP互通方式
這篇文章主要介紹了WIN10系統(tǒng)和Docker內(nèi)部容器IP互通方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11