我在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)个节点图像。


当前回答

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

sudo docker rmi <NAME>:<TAG>

ex:

sudo docker rmi php:7.0.4-fpm

其他回答

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

sudo docker rmi <NAME>:<TAG>

ex:

sudo docker rmi php:7.0.4-fpm

docker rm容器名称

docker rmi映像名称

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

如果您希望自动/定期清理退出的容器,并删除正在运行的容器未使用的图像和卷,可以下载图像融合器/docker清理。

我在生产中使用这一点,因为我们每天在多个服务器上部署几次,我不想去每一个服务器进行清理(这会很痛苦)。

只需运行:

docker run -d -v /var/run/docker.sock:/var/run/docker.sock:rw  -v /var/lib/docker:/var/lib/docker:rw --restart=unless-stopped meltwater/docker-cleanup:latest

它将每30分钟运行一次(或使用DELAY_TIME=1800选项设置多长时间),并清理退出的容器和图像。

更多详情:https://github.com/meltwater/docker-cleanup/blob/master/README.md

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

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

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

首先,我们必须停止并删除Docker容器,这些容器与我们将要删除的Docker映像相关联。

因此,首先

docker stop container id-停止正在运行的容器docker rm container id-删除/删除容器

然后

docker rmi image id-删除/删除图像