欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

問(wèn)題描述

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

  • docker ps 顯示容器狀態(tài)正常,但是對(duì)外服務(wù)已經(jīng)不可用不可訪問(wèn)
  • 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)超時(shí),不可用

問(wèn)題排查

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

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

  • 查看容器內(nèi)部日志(我的容器日志也沒有問(wèn)題)
  • 使用以下命令查看容器內(nèi)的stdout和stderr輸出,以獲取有關(guān)容器內(nèi)部問(wèn)題的更多信息。
docker logs CONTAINER_ID
  • 使用-f選項(xiàng)可以實(shí)時(shí)跟蹤日志
docker logs -f CONTAINER_ID
  • 檢查宿主機(jī)資源: 使用以下命令檢查宿主機(jī)的資源使用情況,確保資源(CPU、內(nèi)存)沒有被耗盡(我的沒有問(wèn)題)
docker stats
  • 查看Docker守護(hù)進(jìn)程狀態(tài)(我的容器依然處于運(yùn)行狀態(tài))
  • 檢查Docker守護(hù)進(jìn)程的運(yùn)行狀態(tài),確保它沒有出現(xiàn)問(wèn)題。
sudo systemctl status docker
  • 如果守護(hù)進(jìn)程出現(xiàn)問(wèn)題,可以嘗試重啟Docker服務(wù)
sudo systemctl restart docker
  • 手動(dòng)停止和啟動(dòng)容器: 嘗試手動(dòng)停止和啟動(dòng)容器,看是否能夠解決問(wèn)題。(我的問(wèn)題么有解決啊??)
docker stop CONTAINER_ID
docker start CONTAINER_ID
  • 檢查端口沖突: 確保容器所使用的端口沒有被其他進(jìn)程占用。(不可能,絕對(duì)不可能.jpg)
  • 查看系統(tǒng)日志: 查看系統(tǒng)日志以獲取更多關(guān)于系統(tǒng)或Docker的問(wèn)題的信息。(說(shuō)實(shí)話么有看出來(lái)什么問(wèn)題)
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ù): 如果以上方法都沒有解決問(wèn)題,可以嘗試重啟整個(gè)Docker服務(wù)。(終極大招,管用?。?/p>

sudo systemctl restart docker

問(wèn)題解決

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

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

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

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

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

rm -rf 目錄名

這里刪除可能會(huì)報(bào)下面的錯(cuò)誤,因?yàn)槟愕娜萜鬟€掛載了其他目錄,信息如下: rm:無(wú)法刪除"/var/lib/docker/containers/目錄名/secrets":設(shè)備或資源忙無(wú)法刪除"/var/lib/docker/containers/目錄名/shm": 設(shè)備或資源忙

這個(gè)時(shí)候查一下容器對(duì)應(yīng)的掛載目錄

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

然后先取消掛載

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

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

lsof |grep "掛載目錄"

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

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

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

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

這個(gè)時(shí)候就可以刪掉了

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

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

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

使用linux進(jìn)程管理命令來(lái)結(jié)束容器進(jìn)程

  • 先找到該進(jìn)程:ps -ef | grep【CONTAINER_ID】

  • 強(qiáng)制殺掉篩選出來(lái)的進(jìn)程信息:kill -9 PID

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

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

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

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

相關(guān)文章

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

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

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

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

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

    docker垃圾清理方式

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

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

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

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

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

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

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

    docker安裝mysql、redis鏡像方式

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

    docker kubernetes dashboard安裝部署詳細(xì)介紹

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

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

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

    Docker 通過(guò)端口來(lái)連接一個(gè)容器的實(shí)現(xiàn)

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

最新評(píng)論