docker stop服务卡死


前言

项目用docker容器化部署,更新项目sqlserver容器后出现docker stop 容器卡死的现象。困扰的一天的问题,记录一下解决过程。


推荐一下这位作者的解决办法:解决Docker不能stop或者kill一个容器方法

一、找出卡死服务的docker容器

环境:Ubuntu20.04系统、docker-compose

在终端执行sudo docker-compose stop ,系统直接卡死。看不出原因。
只能尝试逐个stop容器,直到某个容器卡死。然后找出该容器的ID

sudo docker ps

二、解决办法

1.在docker目录中删除卡死服务的容器

docker容器的默认目录:/var/lib/docker
所有docker容器的信息都挂载在/var/lib/docker/containers目录下

# 使用root权限查找容器的目录
root@test:~# ll /var/lib/docker/containers | grep a3175a0318c5
drwx------  4 root root 4096 119 15:11 a3175a0318c5d5351c76b5ee4309f352b7c1e98f77a6c56c7c6b1ba05b959d43/

# 删除该容器的目录
cd /var/lib/docker/containers
rm -rf a3175a0318c5d5351c76b5ee4309f352b7c1e98f77a6c56c7c6b1ba05b959d43

这里删除可能会报下面的错误,因为容器可能还挂载了其他目录,信息如下:
rm: 无法删除"/var/lib/docker/containers/目录名/secrets": 设备或资源忙 无法删除"/var/lib/docker/containers/目录名/shm": 设备或资源忙
有些博主建议取消挂载目录,但是参照执行后无效。下面是取消挂载的方法:

# 查一下容器对应的挂载目录
cat /proc/mounts |grep "docker" |grep "[CONTAINER_ID]"
# 输出结果
shm /var/lib/docker/containers/a3175a0318c5d5351c76b5ee4309f352b7c1e98f77a6c56c7c6b1ba05b959d43/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=65536k,inode64 0 0


# 取消挂载
umount /data/sys/var/docker/containers/[挂载目录]/secrets
umount /data/sys/var/docker/containers/[挂载目录]/shm

# 取消挂载后,删除容器目录
rm -rf [容器目录]

当出现无法删除时,我直接使用使用root权限删除了容器目录。后面导致的docker服务无法使用。后面就需要重新安装docker导入镜像了

2.卸载docker

#删除软件及其安装时自动安装的所有包
sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc
 
#删除docker卸载残留
dpkg -l | grep docker
 
# 删除无用的相关的配置文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 
 
#再输入以下命令卸载没有删除的docker相关插件。
sudo apt-get autoremove docker-ce-*
 
#再输入以下命令删除docker的相关配置
sudo rm -rf /etc/systemd/system/docker.service.d
 
sudo rm -rf /var/lib/docker
  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值