Docker 镜像可能非常大,如果您经常使用容器,它可能会占用您的大量存储空间。我们将讨论如何清理您下载的图像并删除您不需要的旧文件。
Docker 镜像与 Docker 容器
Docker 镜像处理数据的方式与容器不同。镜像是从 Dockerfiles 构建并推送到 Docker Hub 的只读文件。每次下载新版本时,Docker 都必须下载该新版本的文件。旧版本仍存储在您的本地驱动器上。
容器由图像构成,通常有自己的文件系统和附加到它们的卷。当您停止容器时,任何未存储在卷上的数据都将被删除。因此,要清理容器使用的数据,您只需停止它们并删除它们的卷。
为了清理镜像,Docker 提供了一些运行垃圾收集的命令。
修剪图像
您最终将不可避免地得到未使用的镜像,无论这些镜像是旧版本的镜像,还是来自未主动运行的容器的镜像。在任何情况下,删除映像通常都不会出现问题——如果您再次需要它,Docker 可以从远程存储库中获取它。
要查看系统上存储的所有图像,您可以使用以下命令:
泊坞窗图像ls
尽管看起来所有这些版本在此输出中都占用了大量空间,但不同的版本是增量存储的,因此只有新版本的更改实际上存储在磁盘上。
您可以根据图像 ID 手动删除图像:
码头工人形象 rm 3a8d8f76e7f8f
但是,更安全的方法是使用内置prune
命令,它将搜索所有图像以查找和删除没有活动引用的图像:
docker image prune -a
省略-a
标记将保留标记但未使用的图像。使用该标志,只会保留您正在积极使用的图像。
该prune
命令会告诉您释放了多少空间,但是如果您想手动检查 Docker 前后使用了多少存储空间,您可以du -sh
在 Docker 存储目录上使用:
须藤杜-sh /var/lib/docker/
此目录将位于 C:\ProgramData\DockerDesktop
Windows 和~/Library/Containers/com.docker.docker/Data/vms/0/
macOS 上。