在 docker-compose 中的同一端口上运行多个服务

Bil*_*saf 2 port networking docker docker-compose

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

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

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

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

test-service:
    image: **
    ports:
      - "8080:8081"
Run Code Online (Sandbox Code Playgroud)

Ale*_* R. 8

有两种端口:容器端口主机端口。两个进程不能在一个容器内保存相同的容器端口。您也不能将服务的容器端口公开到同一主机端口。

然而,每个服务都在自己的容器内运行,以便两者都可以使用容器端口 8080。

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

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

test-service:
    image: **
    ports:
      - "8081:8080"
Run Code Online (Sandbox Code Playgroud)