一尘不染

无法删除Docker映像

docker

设置新的构建机器(CentOS 7,Docker CE 17.12.0-ce)时,我做了一个简单的测试:

docker run -it --rm ubuntu bash

效果很好,但是现在我无法删除Ubuntu映像。

[build ~]$ docker image rm ubuntu
Error: No such image: ubuntu
[build ~]$ docker image rm ubuntu:latest
Error: No such image: ubuntu:latest
[build ~]$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              0458a4468cbc        24 hours ago        112MB
[build ~]$ docker rmi 0458a4468cbc
Error: No such image: 0458a4468cbc

任何容器都没有使用它(总之那不是错误):

[build ~]$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[build ~]$

我什至尝试了nuke-from-orbit方法:

[build ~]$ docker rmi $(docker images -q)
Error: No such image: 0458a4468cbc

并重新启动docker守护进程:

[build ~]$ sudo systemctl restart docker
[build ~]$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              0458a4468cbc        24 hours ago        112MB
[build ~]$ docker rmi 0458a4468cbc
Error: No such image: 0458a4468cbc

是什么赋予了?ubuntu映像是否存在并不重要,我只是不明白为什么我无法清理它。

更新资料

我尝试再次拉出图像,然后:

docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
Digest: sha256:e27e9d7f7f28d67aa9e2d7540bdc2b33254b452ee8e60f388875e5b7d9b2b696
Status: Downloaded newer image for ubuntu:latest
[build ~]$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              0458a4468cbc        25 hours ago        112MB
ubuntu              latest              0458a4468cbc        25 hours ago        112MB
[build ~]$ docker image rm ubuntu
Untagged: ubuntu:latest
[build ~]$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              0458a4468cbc        25 hours ago        112MB
[build ~]$

更新2

尝试使用全新的CentOS 7 1708安装进行相同的基本步骤,并且完全没有问题,因此可以肯定地说,这只是这台计算机上某个东西的一次怪异的一次性损坏。

问题仍然是,我该如何清理?文件系统上有什么我可以rm -rf让docker重新启动的东西吗?


阅读 311

收藏
2020-06-17

共1个答案

一尘不染

设置此系统时,我最初安装了可从标准CentOS存储库(yum install centos)获得的旧版本的docker,而不是添加并安装了docker存储库docker- ce。即使我现在使用的是最新版本,旧版本也必须在/var/lib/docker升级之前引入了一些不良数据。最后,我只是删除了所有本地图像和容器数据,然后重新开始:

sudo systemctl stop docker
sudo rm -rf /var/lib/docker
sudo systemctl start docker

现在一切正常。

2020-06-17