摘要:
(九)实现容器的底层技术 为了更好地理解容器的特性,本节我们将讨论容器的底层实现技术。 cgroup 和 namespace 是最重要的两种技术。cgroup 实现资源限额, namespace 实现资源隔离。 (1)cgroup cgroup 全称 Control Group。Linux 阅读全文
摘要:
(八)限制容器的 Block IO 前面学习了如何限制容器对内存和CPU的使用,本节我们来看 Block IO。Block IO 是另一种可以限制容器使用的资源。Block IO 指的是磁盘的读写,docker 可通过设置权重、限制 bps 和 iops 的方式控制容器读写磁盘的带宽,下面分别讨 阅读全文
摘要:
(七)限制容器对CPU的使用 默认设置下,所有容器可以平等地使用 host CPU 资源并且没有限制。Docker 可以通过 -c 或 --cpu-shares 设置容器使用 CPU 的权重。如果不指定,默认值为 1024。 与内存限额不同,通过 -c 设置的 cpu share 并不是 C 阅读全文
摘要:
(六)限制容器对内存的使用 一个 docker host 上会运行若干容器,每个容器都需要 CPU、内存和 IO 资源。对于 KVM,VMware 等虚拟化技术,用户可以控制分配多少 CPU、内存资源给每个虚拟机。对于容器,Docker 也提供了类似的机制避免某个容器因占用太多资源而影响其他容器 阅读全文
摘要:
(五)一张图搞懂容器所有操作 前面我们已经讨论了容器的各种操作,对容器的生命周期有了大致的理解,下面这张状态机很好地总结了容器各种状态之间是如何转换的 。 如果掌握了前面的知识,要看懂这张图应该不难。不过有两点还是需要补充一下: 可以先创建容器,稍后再启动。 root@cuiyongchao:/ 阅读全文