Docker容器占用了太多的磁盘存储



我用df -hl来检查我的vps的状态,但看起来,存储是由docker mutil时间占用的(我在这个vps中只有1个wordpress,没有其他项目)

今天我收到了来自 Linode 的电子邮件,他们告诉我我的存储已完成

总计: 25600 MB已使用: 25600 MB

我在这个VPS中有一个WordPress,它是由Docker和WordPress构建的

这是我的VPS的代码

root@localhost:~# df -hl
Filesystem      Size  Used Avail Use% Mounted on
udev            463M     0  463M   0% /dev
tmpfs            99M  5.9M   93M   6% /run
/dev/sda         25G  5.0G   19G  22% /
tmpfs           493M     0  493M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           493M     0  493M   0% /sys/fs/cgroup
overlay          25G  5.0G   19G  22% /var/lib/docker/overlay2/2ebf8af06fccd1e3a455746e257c990e6d85f848832eaadd636f48d56e6fbefb/merged
overlay          25G  5.0G   19G  22% /var/lib/docker/overlay2/28044ad06cc4b50d58a331cd644a254c7c90480ad04c1686f2974503da1c98de/merged
shm              64M     0   64M   0% /var/lib/docker/containers/932928ba7b7ccbbb4dd9f05263fadda8c6764ec7185deefc37c0fc555a2c32d5/mounts/shm
shm              64M     0   64M   0% /var/lib/docker/containers/67d10956ef387af8327570b7013cc113114a48ccf3654f9ee01041e88e740192/mounts/shm
overlay          25G  5.0G   19G  22% /var/lib/docker/overlay2/b81fd707a47702b060b462fbb1424bf024c4e593071b0782f4c817ca46a188e2/merged
shm              64M     0   64M   0% /var/lib/docker/containers/ce2422fff8741ede110a730d1283e0f43792de05a14b2ae9bdb59874fefa5fc2/mounts/shm
tmpfs            99M     0   99M   0% /run/user/0
root@localhost:~# docker ps -a
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                            NAMES
932928ba7b7c        wordpress:latest        "docker-entrypoint.s…"   7 weeks ago         Up 2 weeks          0.0.0.0:1994->80/tcp             jujuzone_site
67d10956ef38        phpmyadmin/phpmyadmin   "/run.sh supervisord…"   7 weeks ago         Up 2 weeks          9000/tcp, 0.0.0.0:8081->80/tcp   phpmyadmin
ce2422fff874        mysql:5.7               "docker-entrypoint.s…"   7 weeks ago         Up 4 hours          3306/tcp, 33060/tcp              db_jujuzone
root@localhost:~# docker system prune
WARNING! This will remove:
        - all stopped containers
        - all networks not used by at least one container
        - all dangling images
        - all dangling build cache
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B

您似乎删除了一些可能仍在系统使用的文件。
请记住,在这种情况下,df 命令可以显示与du命令不同的大小。
您可以使用相同目录上的du -hc更精确地检查它,并检查它的总数是否与df命令不同。
还可以运行 lsof |grep '(deleted)' 来验证哪些文件为文件描述符保持打开状态。
在这种情况下,您可以终止此进程并重新启动负责的守护程序。
毕竟,您必须考虑使用-a标志运行docker system prune以清除未使用的图像,并可能回收更多空间。

我最近在 Ubuntu 20.04 上使用 Docker v19.03.13 遇到了同样的问题。我搜索了Docker文档,发现这可能是因为他们引入了一种新型文件系统。你可以从这里阅读更多关于它的信息。我修复它的方法是编辑(如果尚未存在,则创建)/etc/docker/daemon.json文件并添加以下行:

{
  "storage-driver": "overlay"
}

然后使用以下命令重新启动 docker:

sudo systemctl restart docker

我在这里回答了一个类似的问题。

最新更新