小编Ale*_*sei的帖子

如何在 Docker Compose 中为复制容器配置端口映射?

目标是运行两个容器publisher-app。一个容器应映射到主机上的端口 8080,另一个容器应映射到主机上的端口 8081。以下是docker-compose

  publisher_app:
    ports:
      - "8080-8081:8080"
    environment:
      server.port: 8080
    deploy:
      mode: replicated
      replicas: 2
Run Code Online (Sandbox Code Playgroud)

创建了两个容器,但据我了解,两个端口都分配给第一个容器,第二个容器产生此错误: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
Run Code Online (Sandbox Code Playgroud)

Docker 引擎版本:20.10.11

Docker 撰写版本:2.2.1

此案如何处理?我们将非常感谢您的帮助。

这是源代码:https://github.com/aleksei17/springboot-rest-kafka-mysql/blob/master/docker-compose.yml

docker docker-compose

5
推荐指数
1
解决办法
7180
查看次数

标签 统计

docker ×1

docker-compose ×1