如何在 Docker Compose 中将端口从一个容器转发到另一个容器?

How can I forward a port from one container to another in Docker Compose?

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

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

version: "3"
services:
  foo:
    container_name: foo

  bar:
    network_mode: container:foo

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