1. docker本身出现bug

  • 现象1:docker ps命令卡住

  • 解决方法:dockerd出现异常,可以查看具体的docker日志,分析具体日志,重启docker

  • 现象2:docker ps命令,响应是dockerd是不是在运行

  • 解决方法:找到dockerd进程,kill即可

2. docker 容器死锁导致(kubelet的日志会报pleg的错误)

docker inspect 容器id  //查找卡住的容器id
ps aux |grep  容器id|grep shim 
kill  shim进行pid

可以使用下面的命令去寻找卡住的容器id

docker ps | grep -v NAME | awk '{print $1}' | while read i; do echo $i; docker inspect -f {{.State.Pid}} $id; done

3. 重启docker服务一直处于starting状态

  • 解决方法:
  1. 查看shim进程是否残留,有的话kill这些shim进程可以恢复

  2. 如果没有shim进程,重启一下containerd(可能是dockerd跟containerd通信问题)

  3. 最后可以将dockerd的进程kill掉,重新restart docker

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐