系统版本:

LSB Version:    core-9.20160110ubuntu0.2-amd64:core-9.20160110ubuntu0.2-noarch:security-9.20160110ubuntu0.2-amd64:security-9.20160110ubuntu0.2-noarch
Distributor ID:    Ubuntu
Description:    Ubuntu 16.04.4 LTS
Release:    16.04
Codename:    xenial

docker 版本:

Docker version 18.05.0-ce, build f150324

下面汇总一下相关解决办法

1)系统的老套路是所有文件或进程kill不掉,一般是相关联的文件或设备被占用着。docker容器都有一个挂载目录,首先我们先找到挂载目录

# ll /var/lib/docker/containers | grep 容器编号
会显示容器对应的目录,将目录名复制
# cd /var/lib/docker/containers 
# rm -rf 目录名

2)这个时候会发现目录删除不了,提示设备或资源忙

rm: 无法删除"/var/lib/docker/containers/目录名/secrets": 设备或资源忙
    无法删除"/var/lib/docker/containers/目录名/shm": 设备或资源忙

3)这个时候查一下容器对应的挂载目录

cat /proc/mounts |grep "docker" |grep "容器名"  

4)取消挂载

umount /data/sys/var/docker/containers/挂载目录/secrets
umount /data/sys/var/docker/containers/挂载目录/shm

如果这一步 unmout 不了,可以尝试找到使用该目录的进程

lsof |grep "挂载目录"

如果有相关进程,记录相关的进程号直接 kill -9 进程号

5)这个时候再去 cat 一下挂载目录应该是没有了,此时可以去删除容器目录了

# cd /var/lib/docker/containers 
# rm -rf 容器目录名

6)然后再杀掉容器

docker rm -f 容器名
或
docker kill --signal=SIGINT  容器名

以上方案还不行就只能重启docker 了

 sudo service docker restart