【发布时间】:2021-12-29 08:10:34
【问题描述】:
目标是运行publisher-app 的两个容器。一个容器应该映射到主机上的 8080 端口,另一个在 8081 上。这是docker-compose:
publisher_app:
ports:
- "8080-8081:8080"
environment:
server.port: 8080
deploy:
mode: replicated
replicas: 2
创建了两个容器,但据我了解,两个端口都分配给第一个,第二个产生此错误:Ports are not available: listen tcp 0.0.0.0:8081: bind: address already in use。
这是docker ps -a的输出:
6c7067b4ebee spring-boot-rest-kafka_publisher_app "java -jar /app.jar" 33 seconds ago Up 28 seconds 0.0.0.0:8080->8080/tcp, 0.0.0.0:8081->8080/tcp spring-boot-rest-kafka_publisher_app_2
70828ba8f370 spring-boot-rest-kafka_publisher_app "java -jar /app.jar" 33 seconds ago Created spring-boot-rest-kafka_publisher_app_1
Docker 引擎版本:20.10.11
Docker 撰写版本:2.2.1
如何处理这种情况?非常感谢您的帮助。
这里是源代码:https://github.com/aleksei17/springboot-rest-kafka-mysql/blob/master/docker-compose.yml
【问题讨论】:
-
docker ps -a输出显示了什么? -
@NoamYizraeli,将输出添加到问题中
-
我试图模仿你的配置,它对我有用 - gist.github.com/the-toster/76506934cb9e2e858d3fe363d8d9cda1,你能提供对你来说失败的最小示例吗?
-
这是 docker-compose v2 的一个错误:github.com/docker/compose/issues/8530
-
@Aleksei 你能检查一下this 是否适合你吗?这是一个较旧的实现
标签: docker docker-compose