我在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 

其他回答

更新,正如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

列出图像:

ahanjura@ubuntu:~$ sudo docker images

存储库标记图像ID创建的大小88282f8eda00 19秒前308.5 MB13e5d3d682f4 19小时前663 MBbusybox2最新05fe66bb1144 20小时前1.129 MBubuntu 16.04 00fd29ccc6f1 5天前110.5 MBubuntu 14.04 67759a80360c 5天前221.4 MBpython 2.7 9e92c8430ba0 7天前680.7 MBbusybox最新版本6ad733544a63 6周前1.129 MBubuntu 16.10 7d3f705d307c 5个月前106.7 MB

删除图像:

ahanjura@ubuntu:~$ sudo docker rmi 88282f8eda00

删除:sha256:88822f8eda0036f85b5652c44d158308c6f86895ef1345dfa788318e6ba31194删除:sha256:4f211a991fb392cd794bc9ad8833149cd9400c5955958c4017b1e2dc415e25e9删除:sha256:8cc617ac7f0dcb74969ae7958fe80b4a4ea7b3223fc888dfe1aef42f43df6f8删除:sha256:b74a8932cff5e61c3fd2cc39de3c0989bdfd5c2e5f72b8f99f2807595f8ece43

ahanjura@ubuntu:~$ sudo docker rmi 13e5d3d682f4

守护程序的错误响应:冲突:无法删除13e5d3d682f4(必须强制)-已停止的容器5593e25eb638正在使用映像

强行删除:

ahanjura@ubuntu:~$ sudo docker rmi -f 13e5d3d682f4

删除:sha256:13e5d3d682f4d973780b35a33393c46eb314ef3db45d3ae83baf2dd9d702747e删除:sha256:3ad9381c7041c03768ccd855ec86caa6bc0244223f1b0465c4898bdb21dc378删除:sha256:5ccb917bce7bc8d3748eccf677d7b60dd101ed3e7fd2aedebd521735276606af删除:sha256:18356d19b91f0abcc04496729c9a4c49e695dbfe3f0bb1c595f30a7d4d264ebf

要使用图像ID从Docker中删除图像,请执行以下操作:

获取所有图像的列表docker图像标识要删除的图像的图像ID,例如:存储库标记映像ID创建的虚拟大小kweku360/java最新版本08d3a9b8e166 2周前5.733 GB`最后使用图像ID删除图像(只需要前三位数字)码头工人rmi 08d

docker rm容器名称

docker rmi映像名称

码头工人帮助rm删除一个或多个容器rmi删除一个或多个图像

对我来说,以下工作很好:

> docker images
REPOSITORY   TAG           IMAGE ID          CREATED             SIZE
debian       jessie        86baf4e8cde9      3 weeks ago         123MB
ubuntu       yakkety       7d3f705d307c      3 weeks ago         107MB
alpine       3.5           074d602a59d7      7 weeks ago         3.99MB

然后继续,通过运行以下命令删除图像:

> docker rmi debian:jessie
> docker rmi ubuntu:yakkety
> docker rmi alipine:3.5