ubuntu14.04下解決docker假死及更改docker存儲位置


解決docker假死

在調整docker存儲位置時,突然遇到docker命令無反應的情況,經過一段時間排查及搜集資料最終解決了假死的問題,並且成功改變了docker的默認存儲位置。

docker stop [容器名稱]  命令無響應
docker ps -a 查看容器運行狀態無響應
docker exec -it [容器名稱] /bin/bash 進入docker無響應
...

后備份了docker目錄(/var/lib/docker),經過一番嘗試之后,發現存在一些僵屍進程

ps -ef | grep 'defunct' 查看具體信息

最終確認了篩選出來的PPID就是對應的容器ID的進程,最終kill -9 ID 后top查看僵屍進程消失,一切恢復正常。

docker目錄遷移

1.查看當前系統下docker所有正在運行的容器,並停止

docker ps -a
docker stop [容器名稱/容器ID]

2.停止docker服務

sudo service docker stop

3.將/var/lib/docker復制到數據盤下(注意復制后文件大小是否有變化)

cp -r /var/lib/docker /數據盤/路徑/docker

4.刪除/var/lib/docker內的數據

rm -rf /var/lib/docker

如果提示被占用,是由於掛載的原因,執行umount操作

cat /proc/mounts
找到docker相關掛載,執行umount操作
umount /var/lib/docker
再次執行刪除操作
rm -rf /var/lib/docker

5.將復制后的docker軟鏈接到安裝目錄下

ln - s /數據盤/路徑/docker /var/lib/docker  # 注意路徑

6.啟動docker服務

sudo service docker start

7.啟動已停止的容器

docker start [容器名稱/容器ID]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM