将应用程序 docker 化会增加应用程序的启动时间吗?

Posted

技术标签:

【中文标题】将应用程序 docker 化会增加应用程序的启动时间吗?【英文标题】:Will dockerizing the application increase the startup time of application? 【发布时间】:2020-09-20 02:06:31 【问题描述】:

我们有一个 java 应用程序,它之前在没有 docker 的情况下运行。最近我们对应用进行了docker化,启动时间比以前多了。所以我只想问,dockerizing应用会不会增加应用的启动时间?

【问题讨论】:

取决于服务器/虚拟机拥有的资源。 【参考方案1】:

应该没有显着差异,但您确实需要处理 docker 层,并且 docker 引擎本身可能具有较少的资源,例如 CPU 和内存以及文件系统驱动程序,这可能会产生一些影响。

【讨论】:

【参考方案2】:

通常并不是真正的容器,它只是一个使用许多内核和 linux 工具来工作的工具集。

但是,如果您使用 Docker for Mac 或 Docker for Windows,您可能会看到性能下降,因为这些 2 解决方案使用小型 VM 来运行,并且默认情况下不会使用所有可用的 CPU 内核和 RAM。

而且,如果您在 Windows 或 Mac 上使用绑定挂载卷,则性能可能会下降更多,因为 IO 不如没有 docker 快。

【讨论】:

以上是关于将应用程序 docker 化会增加应用程序的启动时间吗?的主要内容,如果未能解决你的问题,请参考以下文章

增加 Azure WebApp for Containers 的启动超时

使用内网的Docker Image启动AcmeAir应用

在写入已装入目录中的文件时,docker容器会增加内存使用量

归一化会降低分类器的性能

CentOS/SwarmPit/Docker/Sonarqube 启动时出错:最大虚拟内存区域 vm.max_map_count [65530] 太低,至少增加到 [262144]

如何在 Elastic Beanstalk 中增加 Docker 中的 ulimit?