在 macOS 上删除本地 Docker 个图像
Remove local Docker images on macOS
我将 Docker 用于 Mac 并用于保存磁盘 space 我想删除一些未使用的本地图像。据我所知,本地文件存储在 ~/Library/Containers/com.docker.docker.
但即使我从 docker 中删除所有图像和容器,该文件夹仍保持其大小为 GB,并且没有释放一个字节。唯一的选择是完全删除 com.docker.docker 文件夹,但这只有在您要删除所有数据而不仅仅是未使用的图像时才有意义。我做错了什么?
要删除所有未使用的图像,请使用 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
)。在某些情况下,images/containers 仅被标记为 deleted
而未被删除。但是他们是重启后的。
这里发生的事情是您的 docker for mac 应用程序实际上是 运行 一个虚拟的 machine。那个虚拟 machine 有自己的磁盘,这就是那个 qcow2 文件。该磁盘被延迟分配,不会一次性占用所有磁盘 space。一旦在 vm 中使用 space,磁盘就会在主机上增长。
磁盘映像会不断增长,直到达到磁盘的大小。仅仅因为一个文件在虚拟机中被删除,不会导致主机上的磁盘映像再次缩小。
有一个可能的解决方案可以缩小您的磁盘映像:https://forums.docker.com/t/where-does-docker-keep-images-containers-so-i-can-better-track-my-disk-usage/8370/7
我看到一些人使用这个技巧取得了一些成功。
列出您的图片:
docker images
删除单张图片:
docker rmi image_id
sudo docker system prune -af
简单的把上面给出的命令放上去。
它将自动删除所有图像。
我将 Docker 用于 Mac 并用于保存磁盘 space 我想删除一些未使用的本地图像。据我所知,本地文件存储在 ~/Library/Containers/com.docker.docker.
但即使我从 docker 中删除所有图像和容器,该文件夹仍保持其大小为 GB,并且没有释放一个字节。唯一的选择是完全删除 com.docker.docker 文件夹,但这只有在您要删除所有数据而不仅仅是未使用的图像时才有意义。我做错了什么?
要删除所有未使用的图像,请使用 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
)。在某些情况下,images/containers 仅被标记为 deleted
而未被删除。但是他们是重启后的。
这里发生的事情是您的 docker for mac 应用程序实际上是 运行 一个虚拟的 machine。那个虚拟 machine 有自己的磁盘,这就是那个 qcow2 文件。该磁盘被延迟分配,不会一次性占用所有磁盘 space。一旦在 vm 中使用 space,磁盘就会在主机上增长。
磁盘映像会不断增长,直到达到磁盘的大小。仅仅因为一个文件在虚拟机中被删除,不会导致主机上的磁盘映像再次缩小。
有一个可能的解决方案可以缩小您的磁盘映像:https://forums.docker.com/t/where-does-docker-keep-images-containers-so-i-can-better-track-my-disk-usage/8370/7
我看到一些人使用这个技巧取得了一些成功。
列出您的图片:
docker images
删除单张图片:
docker rmi image_id
sudo docker system prune -af
简单的把上面给出的命令放上去。 它将自动删除所有图像。