从旧版的docker删除后安装了新版的docker-ce
发现之前镜像无法删除,并且重新pull不能覆盖,会出现两个一模一样的镜像。
百度查也没有查到类似的方法。
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZEubuntu 16.04 00fd29ccc6f1 3 weeks ago 111MB
ubuntu 16.04 00fd29ccc6f1 3 weeks ago 111MB
[root@localhost ~]# docker rm 00fd
Error response from daemon: No such container: 00fd
经过各种尝试发现,解决这个问题的办法也非常简单。我们可以了解到docker的镜像下载(包括container、volume等都是如此)都是存放在CentOS的/var/lib/docker目录下的。
我尝试删除各种data文件保留文件夹结构,发现依然不管用。只是在docker image ls时看不到,再次下载又出现两个,然后还是一样删不掉。
把/var/lib/docker 从虚拟机中拷出来发现非常大,这个目录里有很多隐藏文件。
死马当活马医。直接systemctl stop docker后把docker 停掉,删除这整个docker目录,然后执行systemctl start docker重启服务。
再次查看发现目录也自动正常生成。并且一切正常了。