Tho*_*ran 7 windows virtualbox docker
问题:
当我下载并运行容器时,它们会占用越来越多的空间.我找到了清理未使用的容器和图像的建议,我这样做了.你猜怎么着?他们吃掉了更多的磁盘空间!
到目前为止我发现了什么:
它与.docker\machine\machines\default\disk.vmdk文件有关.它只会变大!
disk.vmdk的日志:
size (MB)
1. with 2 images 1,376
2. downloading a new image X ?
3. running X as Y 2,963
4. removing Y 2,963
5. removing X 3,106
6. removing all the images 3,126
Run Code Online (Sandbox Code Playgroud)
到目前为止我发现的唯一修复是运行docker-machine rm default删除VM.问题是我必须再次下载所有图像.应该有一个更好的解决方案.有人能解释一下:
Shi*_*Jha 40
在 Windows 10 上,这是一个主要问题,空间没有释放,即使在我运行之后,docker system prune当我每周发现这一点时,我也开始注意到这一点;我的 SSD 每 2 或 3 GB 空间就被填满。
尝试打开 Docker Desktop,点击 UI 右上角的“故障排除”图标,然后单击“清理/清除数据”。这为我收回了空间。
另请参阅:
sha*_*359 18
在使用 wsl2 的 Windows 上,请按照以下步骤操作。请注意,如果您遵循此操作,您将丢失所有 docker 映像和容器。 如果您想保留数据(图像和容器),那么您可以尝试此线程上其他人提到的修剪选项。
找到 docker 存储数据的 vhdx 文件。这是docker使用的虚拟硬盘。
"P:\Users\your-username\AppData\Local\Docker\wsl\data\ext4.vhdx"
Run Code Online (Sandbox Code Playgroud)
就我而言,docker 在该文件中使用了大约 27GB 的磁盘空间。即使删除所有映像和容器后,docker 也不会将可用磁盘空间释放回操作系统。

要回收磁盘空间,您必须尝试从 GUI 中清除/清除数据选项。当提示输入数据集名称时,选择 WSL 2。这应该会清理并归还所有未使用的空间。
如果 docker 守护进程未启动或磁盘空间未减少,那么最后一个选项是从 docker 桌面 GUI 恢复出厂设置,如下所示。

Arn*_*eil 11
您可以在较新版本的 Docker 上运行维护命令。它们将释放被停止容器、悬空图像和悬空卷使用的空间:
docker container prune -f
docker image prune -f
docker volume prune -f
Run Code Online (Sandbox Code Playgroud)
小智 7
Docker 缓存:Docker 使用缓存来缩短构建时间并优化映像分层。缓存在镜像构建过程中存储中间层。当您删除映像时,Docker 可能仍保留缓存的层,这会消耗磁盘空间。
要清理 Docker 缓存,可以使用 docker system prune 命令。此命令删除未使用的数据,包括缓存的层。请小心,因为它还会删除其他未使用的资源,例如容器和网络。
docker system prune
Run Code Online (Sandbox Code Playgroud)
此外,如果您只想专门清理缓存的镜像数据,可以使用 docker builder prune 命令:
docker builder prune
Run Code Online (Sandbox Code Playgroud)
通过使用上述方法,您可以确保清理未使用的卷和 Docker 缓存,从而释放 Linux 系统上的存储空间。
也许您正在使用的图像使用卷。如果他们这样做,那么删除容器并不能解决问题。您还必须删除这些卷。为此,您必须-v在删除容器时指定标志
docker rm -v <container name or container id>
Run Code Online (Sandbox Code Playgroud)
根据您的 docker 版本,您将有更多可用命令。检查此SO 线程以了解更多信息。您可以在此SO 线程中阅读有关孤立卷的更多信息
使用以下命令删除所有不需要的容器和图像后:
我看不到任何磁盘空间被释放。重新启动 Docker 桌面后发现磁盘空间被释放。
小智 5
如果有人在 Ubuntu 上遇到这个问题:
就我而言,使用 docker 命令进行修剪和删除并没有多大帮助。
问题是docker/overlay2文件夹。
febrin@laptop:/var/lib$ sudo du -sh docker/overlay2
361G docker/overlay2
Run Code Online (Sandbox Code Playgroud)
我不得不手动删除它。
| 归档时间: |
|
| 查看次数: |
1628 次 |
| 最近记录: |