获取“冲突:无法删除存储库引用”

13

我正在尝试删除一张测试图片:

docker image rm test-image

但是我遇到了一些问题。

Error response from daemon: conflict: unable to remove repository reference "test-image" (must force) - container 4ca6d09c1103 is using its referenced image 133c9587889f

然而,这个容器不存在:
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
fff756b1399a        rocker/shiny        "/usr/bin/shiny-se..."   6 months ago        Up 12 days          0.0.0.0:3838->3838/tcp   shinyServerBdl2

所以,这是关于什么的?
我已经打电话了。
docker build . -t test-image
docker run -it test-image

Dockerfile创建镜像,但为什么我不能在这里删除镜像?我也尝试过。
docker rmi test-image

没有成功。

请重新启动您的系统,我在重新启动后可以正常使用(我使用的是Ubuntu作为主机)。 - Rohan J Mohite
@RohanJMohite 很抱歉,我无法重新启动这台机器。 - Stefan Falk
2个回答

23

确保不存在正在使用该镜像的容器。容器可以停止,因此当您运行 docker ps 时不会显示。您可以运行 docker ps --all 查看所有正在运行和已停止的容器。 简而言之,运行以下命令应该会删除该镜像:

docker rmi [IMAGE ID]
docker container rm 4ca6d09c1103
docker image rm test-image

2

如果您在开发环境中并且想要删除所有图片,可以使用以下方法:

$ docker rm $(docker ps -a -q) -f

但是不要在生产环境中这样做!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接