码头集装箱是否与主机容器具有相同的带宽?或者我们是否需要配置min和(或) max。我注意到,如果我们需要运行CPU密集型作业,我们需要覆盖默认RAM(2GB)和交换空间配置。我们还需要配置磁盘空间吗?还是默认情况下,它获得的空间与实际硬盘相同。
发布于 2019-02-20 04:10:16
这在一定程度上取决于您的主机系统是什么以及它有多老。
在任何情况下,都不会在主机和容器之间显式地限制或分配网络带宽;容器可以根据主机的限制执行任意数量的网络I/O。
在当前的本地Linux上没有桌面应用程序,docker info
会说一些类似Storage driver: overlay2
的东西(overlay
和aufs
在这里也很好)。对于内存、CPU或磁盘的使用没有特殊的限制;在所有情况下,容器都可以使用全部物理主机资源,除非有docker run
选项限制。
在老版本的Linux上没有桌面应用程序,docker info
说是Storage driver: devicemapper
。(考虑升级您的主机!)所有容器和图像都存储在一个单独的文件系统中,并且该文件系统的大小是有限的(它包含在docker info
输出中);命名卷和主机绑定挂载位于这个空间之外。同样,内存和CPU也没有本质上的限制。
Docker和Docker都使用虚拟机向非主机提供Linux内核。如果您看到一个“内存”滑块,您可能正在使用这样的解决方案。用于容器、映像和命名卷的磁盘仅限于VM容量以及内存和CPU。主机绑定挂载通常会传递到主机系统。
发布于 2019-02-20 04:53:29
内存和CPU的控制使用cgroup由坞。如果不对它们进行配置,则它们是不受限制的,可以使用停靠器主机上的所有内存和CPU。如果您在VM中运行,其中包括用于桌面安装的所有Docker,那么您将被限制在该VM的资源中。
磁盘空间通常仅限于/var/lib/docker中可用的磁盘空间。由于这个原因,许多人把这座山变成了另一座山。如果您将devicemapper用于docker的图形驱动程序(这在很大程度上已被废弃),则可以创建预先分配的磁盘空间块,并且可以控制该块大小。您可以通过使用只读根文件系统运行容器并将卷安装到磁盘空间有限的容器中来限制容器。我已经在回送设备挂载中看到了这一点,但它需要在对接器之外进行一些配置才能设置回送设备。对于VM,您将再次受到分配给该VM的磁盘空间的限制。
默认情况下,网络带宽是无限的。我看到了一个名为码头-tc的有趣项目,它监视容器的标签,并使用tc
(流量控制)更新容器的带宽设置。
https://stackoverflow.com/questions/54779150
复制