docker - docker磁盘空间的增长速度快于容器的

标签 docker diskspace

大量修改文件,添加和删除(leveldb)的Docker容器正在以更快的速度增长磁盘使用率,容器本身报告并最终用尽了所有磁盘。

这是df的一个快照,另一个是df的快照。您会注意到,从主机的 Angular 来看,磁盘空间已显着增加(300 MB),但是容器自报告的磁盘空间使用量仅增加了17 MB。随着这继续进行,主机将用完磁盘。

Ubuntu股票14.04,Docker版本1.10.2,内部版本c3959b1。

这里是否有类似修剪的问题?

    root@9e7a93cbcb02:~# df -h
    Filesystem                                              Size  Used Avail Use% Mounted on          
    /dev/mapper/docker-202:1-136171-d4[...]                 9.8G  667M  8.6G   8% /
    tmpfs                                                   1.9G     0  1.9G   0% /dev                
    tmpfs                                                   1.9G     0  1.9G   0% /sys/fs/cgroup      
    /dev/disk/by-uuid/0a76513a-37fc-43df-9833-34f8f9598ada  7.8G  2.9G  4.5G  39% /etc/hosts          
    shm                                                     64M     0   64M   0% /dev/shm        

然后:
    root@9e7a93cbcb02:~# df -h
    Filesystem                                              Size  Used Avail Use% Mounted on          
    /dev/mapper/docker-202:1-136171-d4[...]                 9.8G  684M  8.6G   8% /
    tmpfs                                                   1.9G     0  1.9G   0% /dev                
    tmpfs                                                   1.9G     0  1.9G   0% /sys/fs/cgroup      
    /dev/disk/by-uuid/0a76513a-37fc-43df-9833-34f8f9598ada  7.8G  3.2G  4.2G  43% /etc/hosts          
    shm                                                     64M     0   64M   0% /dev/shm              

最佳答案

发生这种情况是由于内核漏洞修复尚未传播到许多主流OS发行版。对于像我一样天真地在默认Amazon AMI上启动Docker的新手Docker用户而言,这实际上是非常糟糕的。

坚持使用CoreOS Stable,您将不会遇到此问题。我与CoreOS的关系为零,坦率地说,我非常恼火,不得不与《另一个发行版》打交道。在CoreOS发行版或其他运行正常的linux内核中,随着容器释放或使用空间,容器和主机的磁盘空间可以正确地上下相互跟踪。我会注意到OSX或其他虚拟机发行版使用CoreOS,因此可以正常工作。

Here's a long writeup on a very similar issue,但根本原因是devicemapper中的修整/丢弃问题。您需要一个相当新的Linux内核版本才能正确处理此问题。我要说的是,除非您拥有正确的Linux内核,否则Docker不适合目标。请参阅该文章,以讨论要使用哪个发行版。

请注意,以上文章仅涉及docker容器和镜像的管理,但AFAICT还会影响容器本身在正常添加/删除文件或块期间释放磁盘空间的尝试。

请注意您的云提供商使用哪种发行版进行云容器管理。

关于docker - docker磁盘空间的增长速度快于容器的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35995403/

相关文章:

docker - 了解Docker链接中的源容器和目标容器

mysql - Elasticsearch 河的开销?

ubuntu - 不同用户的 Docker 镜像大小

amazon-web-services - 在使用AWS ECS和ECR时,应如何将源代码安装到Docker容器?

docker - 如何在docker compose中创建docker卷

diskspace - 容器中的 Apache Pulsar 磁盘使用情况

php - "write failed: No space left on device"是什么意思?

selenium - org.openqa.selenium.WebDriverException : There is not enough space on the disk error using Selenium and WebDriver through Java

php - 任何将 curl 的 cookie 保存在内存中而不是磁盘上的方法

java - Docker 启动非常慢并且使用 docker compose 收到异常