我们有多个微服务在 8080 端口上运行。据我所知,只有一个服务可以在 8080 端口上运行。
这是否意味着将微服务作为端口运行:8080:8081 或 8081:8081?
以下是我们尝试在 docker-compose 中实现的服务
reference-service:
image: **
ports:
- "8080:8080"
test-service:
image: **
ports:
- "8080:8081"
最佳答案
有两种端口:容器端口和主机端口。两个进程不能在一个容器内持有同一个容器端口。您也不能将服务的容器端口暴露给同一个主机端口。
然而,每个服务都在其自己的容器内运行,因此两者都可以使用容器端口 8080。
因此以下配置是可以接受的:您有两个服务,每个服务都在自己的容器中运行,并且容器端口为 8080。每个容器端口都暴露给不同的主机端口,如下所示:
reference-service:
image: **
ports:
- "8080:8080"
test-service:
image: **
ports:
- "8081:8080"
关于docker - 在 docker-compose 中的同一个端口上运行多个服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64819934/