在一台机器上运行多个docker容器的最佳实践

在一台机器上运行多个docker容器的最佳实践

我最近搭建了一个物理服务器,这对我来说还是第一次,因为我之前一直在使用 VPS 和其他基于云的解决方案。我目前计划在此服务器上托管几个容器:

  • 一个可以和朋友一起玩的 Minecraft 服务器
  • 同一主机名下的网站

  • 不同主机名下的 Angular 网站
  • 该网站的 Spring 后端
  • 后端的 Mongo 数据库

  • 另一个不同主机名下的另一个网站

因此,立即出现了一些问题:

  • 三个容器将尝试使用端口 80 和端口 433
  • 我不想将后端和 Mongo 容器直接暴露给网络
  • 多个容器需要相互通信

因此,我发现的一个解决方案是使用 NGINX(或其他代理)容器来重定向流量。然后我必须将代理放在要公开前端的网络中。然后一种方法是将第二个网站的 angular 前端放在具有后端和 Mongo 数据库的网络中。我还可以将数据库和后端放在单独的网络中,这样 angular 前端就只与后端连接。

minecraft 服务器是唯一使用端口 25565 的服务器,不需要通过代理提供数据。

我想以最佳方式进行设置,所以我的问题是,这种设置的最佳实践是什么,我是否应该使用尽可能多的网络并通过代理提供尽可能多的信息,或者这样做是否有点过头了?我是否忽略了任何安全风险?

相关内容