我正在使用Docker for Mac,为了节省磁盘空间,我想要清除一些未使用的本地镜像。据我所知,本地文件存储在~/Library/Containers/com.docker.docker中。
但是即使我从Docker中删除所有镜像和容器,该文件夹仍然保持几GB的大小,没有一个字节被释放。唯一的选择是完全删除com.docker.docker文件夹,但这只有当您想要删除所有数据而不仅仅是未使用的镜像时才有意义。我做错了什么?
sudo docker system prune -af
只需简单执行上面给定的命令。它将自动删除所有图像。
要删除所有未使用的镜像,请使用docker images prune
。
还有另一种方法可以删除所有未使用的镜像(悬挂):docker rmi $(docker images -aq --filter dangling=true)
要删除您不需要的镜像,请使用docker rmi <image>
。您可以使用多个镜像,例如:docker rmi abcdef ghijkl
,其中abcdef
和ghijkl
是镜像哈希值。
如果这不能立即解决问题,则尝试重新启动Docker服务(sudo service docker restart
)。在某些情况下,镜像/容器仅被标记为"已删除",但未被删除。但是它们会在重启后被删除。
docker rmi $(docker images -aq --filter dangling=true)
返回 "docker rmi" 需要至少 1 个参数。
而 docker images prune
返回一个空的镜像列表。在终端中,sudo service docker restart
给了我一个 sudo: service: command not found
,所以我多次重启了 Docker 应用程序并使用了重启按钮 - 但我的 Finder 在所有这些尝试之前和之后都告诉我有 6.39 GB 的文件夹大小。 - Mountainservice
不是正确的命令。它在 *nix 上运行良好,所以我认为它在 Mac 上也能运行,因为它是 *nix。尝试手动删除未使用的图像。 - Kevin Kopfdocker images
删除单个镜像:
docker rmi image_id
docker image rm
有什么问题吗? - Henrydocker image rm IMAGEID -f
命令可以强制删除镜像。 - crmpicco