当前位置: 首页 > 知识库问答 >
问题:

尽管清理了Docker映像/容器,但仍会占用空间

太叔豪
2023-03-14

我注意到Docker似乎在使用大量磁盘空间。我可以看到目录。docker/machine/machines/default是27.4GB

我最近清理了我没有使用的所有图像和容器。现在,当我运行docker ps时,我看到没有图像正在运行。

~ $ docker ps

我还可以看到我有2个容器可用。

~ $ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
42332s42d3        cds-abm        "/bin/bash"         2 weeks ago         Exited (130) 2 weeks ago                       evil_shockley
9ssd64ee41        tes-abm        "/bin/bash"         2 weeks ago         Exited (130) 2 weeks ago                       lonely_brattain

然后我可以看到我有3个图像。

~ $ docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
ghr/get  latest              6708fffdd4dfa        2 weeks ago         2.428 GB
<none>                <none>              96c5974ddse18        2 weeks ago         2.428 GB
fdbh/ere         latest              bf1da53766b1        2 weeks ago         2.225 GB

它们怎么会占用近30GB的空间?

共有1个答案

安明亮
2023-03-14

这是因为您在停止容器时没有删除容器创建的卷。将来,在删除容器时使用-v

docker rm -v <container-id>

重新清理空间,您必须ssh到docker机器并删除创建的所有卷。为此,

docker-machine ssh default
sudo -i # You may not get permission to enter in to volumes directory
cd /var/lib/docker/volumes
rm -rf *

确保当前没有任何容器正在运行。此外,请确保以后使用时不需要这些卷中的任何一个(如DB容器)。

 类似资料:
  • 只显示7-9个图像。 显示n个图像。 当我创建一个文件时,由于系统完全错误而导致写入错误。我试图创建符号链接。但是我不能搬动码头工人的东西。 删除/var/lib/docker/graph下的所有内容好吗?除了创建符号链接和扩展磁盘之外,还有什么其他可能性?我宁愿删除不必要的东西。

  • 问题内容: 我已经设置了泊坞窗,并且使用了完全不同的块设备来存储泊坞窗的系统数据: 请注意, 使用的是完全不同的硬盘 问题是,当我继续下载docker映像并运行docker容器时,似乎另一个硬盘驱动器 也用完了。 我可以通过删除一些Docker映像来验证此问题。在我删除了一些docker映像之后, 现在有了一些额外的空间。 我想念什么吗? 我的泊坞窗版本: 问题答案: 这是devicemapper

  • 如果docker文件中有RUN命令,那么它会创建一些中间图像。我的问题是,这些中间图像是否占用硬盘的内存?如果是,docker build--rm应该足够了吗?

  • 问题内容: 我在VM上运行容器。我的容器默认将日志写入/var/lib/docker/containers/CONTAINER_ID/CONTAINER_ID- json.log文件,直到磁盘已满。 当前,我必须手动删除此文件,以避免磁盘已满。我读到在Docker 1.8中会有一个参数来旋转日志。您会建议什么作为当前解决方法? 问题答案: Docker 1.8已发布,带有日志轮换选项。新增: 当容

  • 我正在 VM 上运行容器。默认情况下,我的容器将日志写入 /var/lib/泊坞窗/容器/CONTAINER_ID/CONTAINER_ID-json.log 文件,直到磁盘已满。 目前,我必须手动删除这个文件,以避免磁盘已满。我听说Docker 1.8中会有一个参数来旋转日志。您建议当前的解决方法是什么?

  • 我希望存储在redis缓存中的数据在给定的时间段后自动从缓存中清除,而无需对其调用delete方法。在这个POC中,我将TTL设置为60秒。我曾尝试在缓存管理器中使用API SetDefaultExpire、setExpires设置它,并在RedisTemplate中使用API expire设置它。到目前为止,没有一个解决方案对我有效。 在使用的redis存储库中, 请给我指出正确的方向。感谢您的