【问题标题】:running multiple services on same port in docker-compsoe在 docker-compose 的同一端口上运行多个服务
【发布时间】:2020-11-13 11:15:37
【问题描述】:

我们有多个在 8080 端口上运行的微服务。据我所知,只有 1 个服务可以在 8080 端口上运行。

这是否意味着将微服务作为端口运行:8080:8081 或 8081:8081?

以下是我们尝试在 docker-compose 中实现的服务

reference-service:
  image: **
  ports:
    - "8080:8080"

test-service:
    image: **
    ports:
      - "8080:8081"

【问题讨论】:

  • 如果您想在同一个端口上运行,您可以将端口设置为 8080:8080、8081:8080 等
  • 谢谢,这就是我要找的

标签: docker networking docker-compose port


【解决方案1】:

有两种端口:容器端口主机端口。两个进程不能在一个容器内拥有相同的容器端口。您也不能将服务的容器端口暴露给相同的主机端口。

但是,每个服务都在自己的容器中运行,因此两者都可以使用容器端口 8080。

因此以下配置是可以接受的:您有两个服务,每个服务都在自己的容器中运行,并且具有容器端口 8080。每个容器端口暴露于不同的主机端口,如下所示:

reference-service:
  image: **
  ports:
    - "8080:8080"

test-service:
    image: **
    ports:
      - "8081:8080"

【讨论】:

    猜你喜欢
    • 2020-11-28
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 2020-10-25
    • 2020-01-09
    • 2019-10-09
    • 1970-01-01
    • 2017-04-01
    相关资源
    最近更新 更多