Docker与两个Web应用程序容器

我想为两个Web应用程序(GUnicorn / Django)设置两个容器。 但是我不能同时将两个容器的端口映射到端口80。 我应该如何设置这种情况?

端口号的重点是别人可以find你的服务。 这就像一个名字 – 如果你站在旁边叫Dave的两个人,你说“戴夫”,他们都会回答,而且会变得混乱。 所以操作系统不会让你这样做。

您的select是:

  1. 给每个不同的端口号码,并有来电者指定正确的。
  2. 给每个不同的IP地址和呼叫者指定正确的一个。
  3. 在端口80上添加第三个服务,可以很好地理解请求,将其传递给正确的请求。

你必须做出这个select。 权衡是#1和#2给调用者带来更多的开销,而#3则是更多的工作来build立和更多的服务器负载。

#1你会通过发布到不同的端口。 #2不发布,并可能创build一些路由规则。 #3需要另一项服务,例如HAProxy。