我在OS X 10.8.4(Mountain Lion)下运行Vagrant下的Docker,每当我尝试删除保存的图像时,都会出现错误:

$ docker rmi some-image-id
2013/07/15 hh:mm:ss unexpected JSON input

根据rmi帮助,正确的语法是docker rmi IMAGE[IMAGE…],我不知道该怎么做。

如何删除图像?

$ docker version
Client version: 0.4.8
Server version: 0.4.8
Go version: go1.1

 

$docker info
Containers: 1
Images: 3

有趣的是,当我运行docker ps时,根本没有容器出现。运行docker图像显示四(4)个基本图像和一(1)个节点图像。


当前回答

docker rmi  91c95931e552

后台进程的错误响应:冲突,无法删除91c95931e552,因为容器76068d66b290正在使用它,请使用-f强制FATA[0000]错误:未能删除一个或多个图像

查找容器ID,

# docker ps -a

# docker rm  daf644660736 

其他回答

对于1.13及更高版本:

docker image rm [OPTIONS] IMAGE [IMAGE...]

比较:

docker图像rm和docker rmi的文档,

[选项]似乎没有什么不同。

--force , -f        Force removal of the image
--no-prune          Do not delete untagged parents

发件人:Docker 1.13简介

CLI已重组在Docker 1.13中,我们重新组合了每个命令,使其位于与之交互的逻辑对象之下。例如,list和start of containers现在是docker container的子命令,history是docker image的子命令。这些更改让我们清理了Docker CLI语法,改进了帮助文本,使Docker更易于使用。旧的命令语法仍然受到支持,但我们鼓励大家采用新的语法。

尝试docker rmi节点。这应该奏效。

看到所有创建的容器就像docker ps-a一样简单。

要删除所有现有容器(而不是图像!),请运行docker rm$(docker ps-aq)

更新,正如VonC在如何删除旧Docker容器中所评论的。

使用Docker 1.13(2016年第4季度),您现在可以:

docker系统prune将删除所有未使用的数据(即,按顺序:容器停止、没有容器的卷和没有容器的图像)。

请参阅PR 26108和commit 86de7c0,它们引入了一些新命令,以帮助可视化Docker守护程序数据在磁盘上占用的空间,并允许轻松清理“不需要的”多余空间。

docker system prune

WARNING! This will remove:
    - all stopped containers
    - all volumes not used by at least one container
    - all images without at least one container associated to them
Are you sure you want to continue? [y/N] y

为什么没有人提到码头工人作曲!我刚用了一个星期,没有它我无法生存。你只需要写一个只需要几分钟学习的yml,然后你就可以开始了。它可以引导映像、容器(在所谓的服务中需要),并让您像使用docker本地命令一样查看日志。试试看:

docker-compose up -d
docker-compose down --rmi 'local'

在使用docker compose之前,我编写了自己的shell脚本,然后我必须在需要时定制脚本,尤其是在应用程序架构发生变化时。现在我不必再这样了,多亏了docker compose。

我的问题是我有两张同名的照片解决方案是在名称或id之后添加标记

sudo docker rmi <NAME>:<TAG>

ex:

sudo docker rmi php:7.0.4-fpm