4

据我了解,目前,Docker for Mac 要求我预先决定将多少内存和 CPU 内核静态分配给运行它的虚拟化 linux。

在此处输入图像描述

这意味着即使 Docker 处于空闲状态,我的其他程序也将在 (N-3) 个 CPU 内核和 (M-3)GB 内存上运行。正确的?

这是非常次优的!

在 Linux 中,它是理想的,因为容器只是另一个进程。因此,它在容器启动和停止时使用和释放系统内存。

  1. 我的心智模型正确吗?

  2. 有朝一日 Docker for Mac 或 Windows 会动态分配CPU 和内存资源吗?

4

1 回答 1

4

这里的主要问题是,目前,Docker 只能在 Linux运行 Linux 容器。这意味着在 OS X 或 Windows 上,Docker 运行在 Linux 虚拟机中,它分配资源的能力受到正在使用的虚拟化软件提供的设施的限制。

当然,Docker 可以原生在 Windows 上,只要你想运行 Windows 容器,在这种情况下可能更符合 Linux “一个容器只是一个进程”的模型。

可能会在未来发生变化,但现在情况就是这样。

这意味着即使 Docker 空闲,我的其他程序也将在 (N-3) 个 CPU 内核和 (M-3)GB 内存上运行。正确的?

我怀疑这对记忆来说是正确的。我相信,如果 docker vm 空闲,它实际上并没有以 CPU 资源的方式使用太多(也就是说,您没有将 CPU 专用于 VM;相反,您正在设置 vm 可以消耗多少资源的最大限制)。

于 2017-12-22T22:21:43.103 回答