【问题标题】:Docker container disk size in mesos and marathonmesos 和 marathon 中的 Docker 容器磁盘大小
【发布时间】:2015-07-28 18:40:41
【问题描述】:
Marathon 是否对 Docker 容器应用程序施加磁盘空间资源限制?默认情况下,我知道 Docker 容器可以在其主机 VM 中按需增长,但是当我尝试让 Marathon 和 Mesos 创建和管理我的 Docker 容器时,我发现容器在安装包期间会耗尽空间。就目前而言,我不能只将这些软件包的安装缓存在预构建的映像中。
如果 Marathon 确实施加了磁盘空间资源限制,有没有办法将其关闭?
【问题讨论】:
标签:
docker
mesos
marathon
【解决方案1】:
Marathon 不应该对您的容器施加大小限制,据我所知,Marathon 可以运行的容器的大小没有限制,只要您运行 Marathon 的盒子和顶部的容器有足够的资源分配(剩余)。
话虽如此,用户 mbarthelemy 在this link 的回复非常好,他详细介绍了 Ubuntu 中的 devicemapper 设置,允许您在 docker 级别为每个容器分配磁盘大小和网络资源。
【解决方案2】:
没有。 Marathon 本身并不强制执行任何资源限制,尽管您的应用定义可以声明 cpu/memory/disk 限制。实际执行这些限制取决于 Mesos。 Mesos 0.22 添加了对磁盘配额隔离的支持,但默认情况下未启用(检查从站的--isolators 标志),所以我怀疑这是你的问题。
奴隶的--work_dir是什么?如果它映射到/tmp/mesos(默认),并且恰好是一个小型 ramdisk/SSD,那么您实际上可能在主机/VM 上的空间不足。