docker异常关闭重启不成功的处理办法

检查详细错误日志,看更深层次的报错:
journalctl -u docker.service --no-pager -n 50

停止相关进程

sudo systemctl stop docker
sudo systemctl stop containerd

删除残留的 pid 文件

rm -rf /var/run/docker.pid
rm -rf /var/run/docker.sock

重新加载并启动

sudo systemctl daemon-reload
sudo systemctl start docker

SELinux/防火墙: 医院常用的 CentOS 系统可能开启了 SELinux,尝试临时关闭看看:
setenforce 0

如果容器多且都卡住了,强制停止所有容器:

docker rm -f $(docker ps -aq)

强制停止 Docker 守护进程(服务级)
如果你发现 systemctl stop docker 一直卡住不动(就像你截图中显示的 stop-sigterm timed out),你需要从系统底层杀掉守护进程:

第一步:直接杀掉 dockerd 进程
sudo pkill -9 dockerd
sudo pkill -9 containerd

第二步:清理残留的隔离进程(Shim)
Docker 容器其实是由 containerd-shim 运行的,有时候主进程死了它们还活着:
ps -ef | grep docker-containerd-shim | awk '{print $2}' | xargs kill -9

  1. 彻底清理挂载点(针对重启后无法启动)
    根据你之前的报错,Docker 无法启动往往是因为强制停止后,文件系统挂载点没卸载干净。这是最彻底的“强停”后遗症处理法:

手动卸载挂载目录:
umount /var/lib/docker/overlay2/*/merged

清理网络网桥:
ip link delete docker0

查看 docker.service文件是否存在:vi /usr/lib/systemd/system/docker.service

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容