在 centos 上运行基于 debian 的 docker 容器是否有额外的开销?

在 centos 上运行基于 debian 的 docker 容器是否有额外的开销?

我在网上搜索找不到相关信息docker run debian based container on centos efficiency。我发现跨发行版容器化通常可以正常工作,例如这里https://stackoverflow.com/questions/23945109/docker 中不同内核的编译代码会受到什么影响但效率上却没有太大提高。

我想知道运行debian基于 Docker 容器的额外开销是多少(如果有的话) centos,反之亦然?

答案1

在资源效率(CPU,RAM)方面,容器的“发行版”与主机的不同并不会对效率产生任何影响,因为您实际上并没有在容器内运行完整的发行版。

使用不同发行版的容器时唯一可能变得效率低下的方面是,您可能会在主机上使用更多的磁盘空间,因为它必须存储更多种类的层,其中一些可能仅由单个图像使用。

理想情况下,每个容器只运行一个进程,因此容器的发行版更多地涉及围绕该进程的环境(工具、路径、命令名称等)。

许多 Docker 镜像都具有几种“风格”(通过标签区分)。一种通常基于 CentOS、Debian 或 Ubuntu,另一种通常基于 Alpine。

Nginx例如存在以下标签(以及其他标签):

  • 1.17.6,,,,,mainline11.17latest
  • 1.17.6-perl,,,,,mainline-perl1-perl1.17-perlperl
  • 1.17.6-alpine,,,,,mainline-alpine1-alpine1.17-alpinealpine
  • 1.17.6-alpine-perl,,,,,mainline-alpine-perl1-alpine-perl1.17-alpine-perlalpine-perl

1.17.6、和标记映像1.17.6-alpine将包含完全相同的 Nginx 二进制文件和配置,但容器可用的工具有所不同。如果您在两者上加载相同的配置文件,它们将在应用相同工作负载的情况下消耗相同数量的 CPU/RAM。

相关内容