【问题标题】:Can't Docker host more than one webserver?Docker 不能托管多个网络服务器吗?
【发布时间】:2014-07-05 11:13:31
【问题描述】:

阅读this我得到的印象是Docker容器无法获取dhcp地址或dns名称。

问题

这是否意味着我不能托管两个或多个都需要监听端口 80 的网络服务器?

或者甚至是一个带有域名的网络服务器?

【问题讨论】:

    标签: linux dns virtual-machine docker dhcp


    【解决方案1】:

    简短:是的,你可以。

    您可以运行任意数量的网络服务器,并使用-p 80 公开它们。 docker 内部的 webserver 将监听 80,docker 会将其 nat 到端口 49150+。

    您还可以使用-p 0.0.0.0:80:80 告诉 docker 实际侦听“真实”端口 80,但是您将只能启动一个。像这样启动反向代理并让它通过 vhost 路由到其他容器是很常见的。

    如果您有多个与-p <ip interfaceN>:80:80 的接口,您还可以在“真实”端口 80 上运行多个网络服务器

    【讨论】:

    • 那么,如果你说一个只有一个接口的 EC2 实例,那么 docker 的意义何在,难道我不能对 Chef 或 Puppet 做同样的事情吗?如果您不能在同一端口上的一个接口上运行多个网络服务器,我就无法理解容器趋势。
    • 如何将多个网络服务器绑定到一个端口,无论是否容器化?正如@creack 所说,您可以使用反向代理并根据主机名转发请求。
    猜你喜欢
    • 2014-10-26
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多