亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

docker服務(wù)假死的解決方法

 更新時間:2023年12月05日 09:11:52   作者:鯤志說  
工作中使用docker-compose部署容器,有時候會出現(xiàn)使用docker-compose stop或docker-compose down命令想停掉容器,但是依然無法停止或者一直卡頓在停止中的階段,所以本文給大家介紹了docker服務(wù)假死的解決方法,需要的朋友可以參考下

問題描述

在使用docker部署服務(wù)時,偶爾會遇到docker服務(wù)假死的情況,使用的命令如下:

  • docker ps 顯示容器狀態(tài)正常,但是對外服務(wù)已經(jīng)不可用不可訪問
  • docker stats 沒有任何反應(yīng)
  • docker stop CONTAINER_ID 也沒有任何反應(yīng)
  • docker restart CONTAINER_ID 也沒有任何反應(yīng)
  • docker exec -it --user root CONTAINER_ID /bin/bash 也沒有任何反應(yīng)
  • docker logs CONTAINER_ID --tail 111 -f 也沒有任何反應(yīng)
  • docker-compose stop/down 命令也提示響應(yīng)超時,不可用

問題排查

之前沒有遇到過這種問題,也是第一次,于是就各種信息都看一下,各種可能性也都考慮到位

猜測這種情況,可能是由于容器內(nèi)部的問題導(dǎo)致服務(wù)無法正常運行,或者Docker守護進程本身出現(xiàn)了問題。

  • 查看容器內(nèi)部日志(我的容器日志也沒有問題)
  • 使用以下命令查看容器內(nèi)的stdout和stderr輸出,以獲取有關(guān)容器內(nèi)部問題的更多信息。
docker logs CONTAINER_ID
  • 使用-f選項可以實時跟蹤日志
docker logs -f CONTAINER_ID
  • 檢查宿主機資源: 使用以下命令檢查宿主機的資源使用情況,確保資源(CPU、內(nèi)存)沒有被耗盡(我的沒有問題)
docker stats
  • 查看Docker守護進程狀態(tài)(我的容器依然處于運行狀態(tài))
  • 檢查Docker守護進程的運行狀態(tài),確保它沒有出現(xiàn)問題。
sudo systemctl status docker
  • 如果守護進程出現(xiàn)問題,可以嘗試重啟Docker服務(wù)
sudo systemctl restart docker
  • 手動停止和啟動容器: 嘗試手動停止和啟動容器,看是否能夠解決問題。(我的問題么有解決啊??)
docker stop CONTAINER_ID
docker start CONTAINER_ID
  • 檢查端口沖突: 確保容器所使用的端口沒有被其他進程占用。(不可能,絕對不可能.jpg)
  • 查看系統(tǒng)日志: 查看系統(tǒng)日志以獲取更多關(guān)于系統(tǒng)或Docker的問題的信息。(說實話么有看出來什么問題)
dmesg | grep -i docker
  • 查看網(wǎng)絡(luò)配置(正常的網(wǎng)絡(luò)狀況,網(wǎng)絡(luò)配置也沒有修改)
  • 檢查Docker網(wǎng)絡(luò)配置,確保網(wǎng)絡(luò)正常。
docker network ls
  • 查看容器的網(wǎng)絡(luò)配置
docker inspect CONTAINER_ID | grep NetworkMode
  • 查看防火墻設(shè)置: 如果使用防火墻,確保容器所需的端口沒有被阻塞。

  • 嘗試重啟Docker服務(wù): 如果以上方法都沒有解決問題,可以嘗試重啟整個Docker服務(wù)。(終極大招,管用?。?/p>

sudo systemctl restart docker

問題解決

終極殺招-最粗暴的解決方法

  •  重啟docker(慎用):
sudo systemctl restart docker

要注意,這個操作會把所有的docker服務(wù)無差別的重啟,慎用

手動清理假死的docker服務(wù)

  1. 找到假死的docker服務(wù):執(zhí)行docker ps命令找到容器ID【CONTAINER_ID】
  2. 先嘗試使用docker自帶的命令停止容器docker stop 【CONTAINER_ID】 發(fā)現(xiàn)停不掉
  3. 手動查找docker目錄下的容器信息
  • docker默認目錄:/var/lib/docker
  • 所有docker容器的信息都掛載在/var/lib/docker/containers目錄下
  • 通過【CONTAINER_ID】找到該假死服務(wù)的目錄
    • ll /var/lib/docker/containers | grep 【CONTAINER_ID】
    • cd /var/lib/docker/containers
  1. 刪除該容器

rm -rf 目錄名

這里刪除可能會報下面的錯誤,因為你的容器還掛載了其他目錄,信息如下: rm:無法刪除"/var/lib/docker/containers/目錄名/secrets":設(shè)備或資源忙無法刪除"/var/lib/docker/containers/目錄名/shm": 設(shè)備或資源忙

這個時候查一下容器對應(yīng)的掛載目錄

cat /proc/mounts |grep "docker" |grep "【CONTAINER_ID】"

然后先取消掛載

umount /data/sys/var/docker/containers/掛載目錄/secretsumount /data/sys/var/docker/containers/掛載目錄/shm

如果這一步 unmout 不了,可以嘗試找到使用該目錄的進程

lsof |grep "掛載目錄"

如果有相關(guān)進程,記錄相關(guān)的進程號直接 kill -9 進程號

ll /var/lib/docker/containers | grep 【CONTAINER_ID】

這個時候再重新執(zhí)行刪除目錄命令

cd /var/lib/docker/containers
rm -rf 目錄名

這個時候就可以刪掉了

  • 再次嘗試通過docker的命令停止容器
docker stop 【CONTAINER_ID】

docker rm -f 【CONTAINER_ID】或docker kill --signal=SIGINT  【CONTAINER_ID】

如果還是無法停掉改服務(wù),可以按如下步驟:

使用linux進程管理命令來結(jié)束容器進程

  • 先找到該進程:ps -ef | grep【CONTAINER_ID】

  • 強制殺掉篩選出來的進程信息:kill -9 PID

  1. 再次檢查docker服務(wù)狀態(tài) docker ps

先可以看到該服務(wù)已經(jīng)被干掉了。

如果說按照這個操作依然無法解決docker假死問題,那么我還是建議大家采用上面最粗暴的方式去解決,但是要注意,這個操作會把所有的docker服務(wù)無差別的重啟。

以上就是docker服務(wù)假死的解決方法的詳細內(nèi)容,更多關(guān)于docker服務(wù)假死的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • docker中通過nginx+confd動態(tài)生成配置的解決方案

    docker中通過nginx+confd動態(tài)生成配置的解決方案

    這篇文章主要介紹了docker:nginx+confd動態(tài)生成配置,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • dockerfile結(jié)合go應(yīng)用程序的簡單應(yīng)用代碼示例

    dockerfile結(jié)合go應(yīng)用程序的簡單應(yīng)用代碼示例

    Dockerfile文件是一個包含了指令和參數(shù)的文本文件,用于自動化構(gòu)建Docker鏡像,這篇文章主要給大家介紹了關(guān)于dockerfile結(jié)合go應(yīng)用程序的簡單應(yīng)用,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • docker垃圾清理方式

    docker垃圾清理方式

    文章主要介紹了如何刪除Docker鏡像和容器、清理Docker磁盤空間以及配置Docker日志大小,通過這些方法可以有效地管理Docker資源,避免磁盤空間不足的問題
    2025-03-03
  • MongoDB docker集群配置小結(jié)

    MongoDB docker集群配置小結(jié)

    本文主要介紹了MongoDB docker集群配置小結(jié),主要包括如何配置MongoDB的三個節(jié)點,以及如何使用Docker Compose快速搭建集群,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • 通過Dockerfile構(gòu)建Docker鏡像的方法步驟

    通過Dockerfile構(gòu)建Docker鏡像的方法步驟

    這篇文章主要介紹了通過Dockerfile構(gòu)建Docker鏡像的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • 詳解Docker 容器跨主機多網(wǎng)段通信解決方案

    詳解Docker 容器跨主機多網(wǎng)段通信解決方案

    這篇文章主要介紹了Docker 容器跨主機多網(wǎng)段通信解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • docker安裝mysql、redis鏡像方式

    docker安裝mysql、redis鏡像方式

    這篇文章主要介紹了docker安裝mysql、redis鏡像方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • docker kubernetes dashboard安裝部署詳細介紹

    docker kubernetes dashboard安裝部署詳細介紹

    這篇文章主要介紹了docker kubernetes dashboard安裝部署詳細介紹的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • 關(guān)于docker?cgroups資源限制的問題

    關(guān)于docker?cgroups資源限制的問題

    cgroups是一個非常強大的linux內(nèi)核工具,他不僅可以限制被namespace隔離起來的資源,還可以為資源設(shè)置權(quán)重、計算使用量,這篇文章主要介紹了docker?cgroups資源限制,需要的朋友可以參考下
    2022-09-09
  • Docker 通過端口來連接一個容器的實現(xiàn)

    Docker 通過端口來連接一個容器的實現(xiàn)

    這篇文章主要介紹了Docker 通過端口來連接一個容器的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11

最新評論