Docker:使用两个小容器还是一个大容器更好

Docker:使用两个小容器还是一个大容器更好

我正在考虑将 Docker 作为我的下一个项目的架构。

我想运行一个 DNS 服务器和一个 Web 服务器。

把它们都放在同一个容器里是不是更好?还是我应该创建两个?

它们是否需要保持装载状态,或者这些集装箱在没有活动时是否处于休眠状态。

谢谢大家的帮助!

答案1

Docker 的理念是将您的功能隔离到离散的容器中,除非它们相互依赖。

例如,您可能在同一个容器中运行 dovecot 和 postfix,因为它们相互依赖。如果它们共享一个公共文件系统,它们也可能被拆分。

Apache 和 Bind 并不相互依赖,因此可以拆分到容器中。

在另一种虚拟化技术(例如 VMWare)中,会有可衡量的开销,并且结合功能的动机可能会更大。

Docker 的好处是开销极小,而且能够切换和/或重新使用技术所带来的额外好处超过了开销成本。

回答:创建两个镜像,两个容器。如果 Apache 不是解决方案,那么您可以将 Web 服务交换到 NGINX,而无需触及 DNS。或者在另一个容器中添加 MYSQL,并使 DNS 和 APACHE 不受影响。

相关内容