使用 Docker 个容器设计系统架构

Designing system architecture with Docker containers

我是 Docker 的新手。我想从一些专家那里得到一些关于容器设计的意见。我已经在 MongoDB 云 (Atlas) 中建立了一个数据库。我在 Docker 容器中有 Windows 应用程序,其中包括 Windows OS 和基于应用程序的组件。我想使用 RavenDB,这个数据库对我来说很新。我的 Windows 容器的一个组件将与 MongoDBRavenDB 通信。 我的问题是 我应该为 RavenDB 创建不同的 docker 容器还是在我现有的 windows 容器中安装 RavenDB。 这是设计决策问题。我是 RavenDBDocker 的新手,所以我还不清楚优缺点。请帮助我。

我有一个类似的应用程序,其中有一个 postgresql 数据库和 Nodejs webapp。 Web 应用程序和数据库 运行 在单独的 docker 容器上。

  • 这样两个容器就相互独立了。
  • 这复制了实际的生产场景,您将在其中分别拥有服务和数据库 运行ning。
  • 建议在每个容器上 运行 单个进程。
  • 更好的服务模块化。关注点分离。
  • 如果容器被隔离到单个功能,则水平扩展容器会容易得多。

这样两个容器就相互独立了。 postgresql 数据库容器安装了一个卷来保存数据。

可以找到更详细的解释here