不知道啥原因导致Docker崩了,幸好抢救回来了

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running

不知道是什么原因导致崩溃的,

  • 可能是随身WIFI棒子插在的充电宝没电了,断电关机导致
  • 可能是同时安装了Portainer、FastOSDocker、WatchTower的原因(都有这一条挂载 /var/run/docker.sock:/var/run/docker.sock)

试过了systemctl restart docker重启不行,百度半天也没找到能解决的办法,最后决定卸载重装,发现卸载都挺麻烦的,apt remove docker失败了,提示docker有个service的开机自启服务,后来我找到并删除了
/usr/lib/systemd/system/docker.service 和 docker.target
就可以卸载了

但重装时还是提示我已经安装了docker,我尝试了docker -v 确实还能输出
然后找到了可用的卸载方法

1,删除docker所在目录

rm -rf /etc/docker
rm -rf /run/docker
rm -rf /var/lib/dockershim
rm -rf /var/lib/docker

2,Kill掉Docker进程

ps -ef|grep docker
kill 9 #9是docker的pid

3,卸载docker相关包

dpkg -l | grep docker

把匹配到的包执行 apt remove 删除
apt remove  containerd.io.x86_64

apt remove docker-ce.x86_64

apt remove docker-ce-cli.x86_64

apt remove docker-ce-rootless-extras.x86_64

apt remove docker-compose-plugin.x86_64

apt remove docker-scan-plugin.x86_64

查看docker是否卸载成功,为空就是卸载成功啦

docker -v

这样卸载之后,就可以用一键脚本,再重新安装回Docker了

curl -sSL https://get.daocloud.io/docker | sh

借着这个事情,把之前的Docker项目,都转化成了docker-compose了(docker -run命令在线转化为docker-compose.yml),并且重新部署了之前的项目,所幸数据都没丢,只是有部分项目丢失了账号和设置,重新设置账号后,里面的数据都在,不需要重新处理数据。比如EasyImage图床的图片和之前的链接都还能访问,这也证明了可迁移性还是比较良好的,以后注意备份出来,传到可靠存储上就好了。