docker - 具有两个Web应用程序容器的Docker

标签 docker

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

最佳答案

端口号的关键是让其他人可以找到您的服务。这就像一个名字-如果您站在两个叫Dave的人旁边,并且您说“Dave”,他们都会回答,并且会造成混乱。因此,操作系统不允许您这样做。

您的选择是:

  • 为每个端口提供不同的端口号,并让 call 者指定正确的端口号。
  • 为每个提供不同的IP地址,并让 call 者指定正确的IP地址。
  • 在端口80上添加第三个服务,该服务可以很好地理解请求,以将请求传递给正确的请求。

  • 您必须做出选择。权衡是#1和#2在调用方上增加了更多开销,而#3设置上的工作更多,服务器上的负载更多。

    #1您可以通过发布到其他端口来完成。 #2通过不发布,并可能创建一些路由规则。 #3需要其他服务,例如HAProxy。

    关于docker - 具有两个Web应用程序容器的Docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27736613/

    相关文章:

    docker - 我可以使用 “docker commit”提交docker容器的整个状态吗?

    ruby-on-rails - 在单独的 docker 容器中反向代理 nginx 和 rails

    Docker 无法在 Windows 上启动

    python - 两个 Kubernetes pod 如何通信?

    Python 语言环境不适用于 alpine linux

    docker - 无法在 COPY 指令中使用 ARG 构建 Docker 多阶段镜像

    python - TableauException(40200):服务器未在Docker容器中回叫我们Python 3.6

    macos - 如何在 Mac 上更改 Docker 镜像安装目录?

    docker - 有没有中间件可以连续运行 Docker 容器?

    node.js - 我可以使用 docker 容器来保存静态文件,以便其他 docker 容器可以访问它吗?