如何清理和删除 Docker 镜像

如何清理和删除 Docker 镜像

Docker 镜像可能非常大,如果您经常使用容器,它可能会占用您的大量存储空间。我们将讨论如何清理您下载的图像并删除您不需要的旧文件。

Docker 镜像与 Docker 容器

Docker 镜像处理数据的方式与容器不同。镜像是从 Dockerfiles 构建并推送到 Docker Hub 的只读文件。每次下载新版本时,Docker 都必须下载该新版本的文件。旧版本仍存储在您的本地驱动器上。

容器由图像构成,通常有自己的文件系统和附加到它们的卷。当您停止容器时,任何未存储在卷上的数据都将被删除。因此,要清理容器使用的数据,您只需停止它们并删除它们的卷。

为了清理镜像,Docker 提供了一些运行垃圾收集的命令。

修剪图像

您最终将不可避免地得到未使用的镜像,无论这些镜像是旧版本的镜像,还是来自未主动运行的容器的镜像。在任何情况下,删除映像通常都不会出现问题——如果您再次需要它,Docker 可以从远程存储库中获取它。

要查看系统上存储的所有图像,您可以使用以下命令:

泊坞窗图像ls

如何清理和删除 Docker 镜像

尽管看起来所有这些版本在此输出中都占用了大量空间,但不同的版本是增量存储的,因此只有新版本的更改实际上存储在磁盘上。

您可以根据图像 ID 手动删除图像:

码头工人形象 rm 3a8d8f76e7f8f

但是,更安全的方法是使用内置prune 命令,它将搜索所有图像以查找和删除没有活动引用的图像:

docker image prune -a

省略-a 标记将保留标记但未使用的图像。使用该标志,只会保留您正在积极使用的图像。

prune 命令会告诉您释放了多少空间,但是如果您想手动检查 Docker 前后使用了多少存储空间,您可以du -sh 在 Docker 存储目录上使用:

须藤杜-sh /var/lib/docker/

此目录将位于 C:\ProgramData\DockerDesktopWindows 和~/Library/Containers/com.docker.docker/Data/vms/0/ macOS 上。

正文完