如何从 vm ubuntu 服务器中的 docker 容器释放磁盘空间

问题描述 投票:0回答:1

尝试了各种释放空间的方法后,没有释放任何空间,但我的虚拟机 ubuntu 服务器只占用了几百 kb。现在,它接近没有足够的空间正常运行的状态。

最初,我为 postgres 和 redis 图像安装了带有 .yml 的 docker,仅包括管理员。到目前为止,在 15 个月的时间里,一切似乎都运行良好,无需额外配置。

现在,注意到一些不需要的图像,每个图像都显示几乎 100% 的空间被用作覆盖。这是我检查的方式。

  1. root@xxx:~# docker ps
  2. root@xxx:~# df -h

请帮忙:

  1. 我如何安全地删除那些明显无用的容器镜像(至少#1-5,因为#6-9 看起来像需要的)?
  2. 如何从 overlay2 中释放空间?和
  3. 防止容器不合理占用空间的解决方案?

注意:我一个一个试过“Stop”和“Remove”那些没用的容器。是的,它们可以消失,但基本上没有释放空间,所有覆盖仍然显示高达 48G。

docker containers overlay space
1个回答
0
投票

我个人使用

docker rmi $(docker images -q)
,这是一个删除所有未引用图像的命令,从而删除所有当前未被积极使用的图像。它来自这个相关的question。因为我使用 CICD 构建图像,所以我最终在日常 cron 作业中添加了这个命令。

这是一个基本命令,每个“使用的图像”都会抛出一个“错误”,启动和停止的容器都计数,允许您保留已停止但未删除的容器中的图像。

工作在错误之前完成,每个删除的图像一行,类似于:

Deleted: sha256:be8e1d0536e7b4b738a06a2f914438e0ff793198e846227f7fd17525024336b9

© www.soinside.com 2019 - 2024. All rights reserved.