我想托管Web服务(比如一个简单的nodejs api服务)
我可以在一台主机上托管的服务数量有限制,因为主机上可用的端口数量仅为……
首先,我怀疑你可以为每个主机运行65536个进程,除非它是巨大的。无论如何,由于可用性和性能,我不建议这样做。太多的进程将竞争相同的资源,导致大量的上下文切换。那就是说,这是可行的。
如果您的服务是HTTP,您可以使用反向代理,如nginx或 traefik 。如果没有,你可以使用 HAProxy的 用于TCP服务。 Traefik是一个更好的选择,因为它执行服务发现,因此您不需要手动配置端点。
在此设置中,网络应该是 bridge ,这是Docker的默认设置。每个容器都有自己的IP地址,因此您不会有任何关于端口耗尽的问题。
bridge