Docker容器是否获得与主机容器相同的带宽?还是我们需要配置最小和/或最大值。我注意到如果我们需要运行CPU密集型作业,我们需要覆盖默认的RAM(即2 GB)和Swap空间配置。
此外,我们需要配置磁盘空间吗?还是默认情况下会获得与实际硬盘一样多的空间。
Docker容器是否获得与主机容器相同的带宽?还是我们需要配置最小和/或最大值。我注意到如果我们需要运行CPU密集型作业,我们需要覆盖默认的RAM(即2 GB)和Swap空间配置。
此外,我们需要配置磁盘空间吗?还是默认情况下会获得与实际硬盘一样多的空间。
使用cgroups来控制内存和CPU的使用是docker所使用的方式。如果您没有对其进行配置,它们将不受限制地使用docker主机上的所有内存和CPU。如果您在虚拟机中运行(包括所有Docker for Desktop安装),那么您将受到该VM资源的限制。
磁盘空间通常限制在/var/lib/docker可用的磁盘空间。因此,许多人将其设置为不同的挂载点。如果您使用devicemapper作为docker的图形驱动程序(这已经大部分被弃用),则可以创建预分配的磁盘空间块,并且您可以控制该块的大小。您可以通过将容器以只读root文件系统运行,并将具有有限磁盘空间的卷装入容器中来限制容器。我看到过这个使用回环设备挂载完成,但需要在docker外部进行一些配置才能设置回环设备。使用虚拟机,您将再次受到分配给该VM的磁盘空间的限制。
网络带宽默认情况下是无限的。我见过一个有趣的项目docker-tc,它监视标记的容器并使用tc
(流量控制)更新容器的带宽设置。
overlay2.size
注意事项: "仅在支持后备文件系统是xfs并使用pquota挂载选项进行挂载时才可用。" - BMitch