【问题标题】:How can I forward a port from one container to another in Docker Compose?如何在 Docker Compose 中将端口从一个容器转发到另一个容器?
【发布时间】:2021-05-11 10:04:49
【问题描述】:

请参阅this answer 将端口从一个 Docker 容器转发到另一个。我怎样才能在 Docker Compose 中做同样的事情?

【问题讨论】:

    标签: docker-compose portforwarding


    【解决方案1】:

    可以使用network_mode键(documentation)定义:

    version: "3"
    services:
      foo:
        container_name: foo
    
      bar:
        network_mode: container:foo
    

    虽然我宁愿避免这样做;这不是“端口转发”,这是使用另一个容器的网络堆栈的指令。最好使用服务名称而不是 localhost。 IE。解决foo容器端口使用foo:<port>而不是localhost:<port>。这样您就不会受到副本和网络配置选项的限制。

    【讨论】:

    • 我通常使用服务名称,但在这种情况下,应用程序将localhost 硬编码为数据库主机名,我必须以某种方式将localhost:5432 转发到dbcontainer:5432
    猜你喜欢
    • 2018-02-16
    • 2017-09-19
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    相关资源
    最近更新 更多