由于产品和用户使用所有相同的文件,因此只能在不同的端口上运行,那么如何才能在两个不同的端口上两次运行同一容器?
version: "3.8"
services:
users:
build:
context: './backend'
ports:
- "8081:8081"
command: node services/auth.js
products:
build:
context: './backend'
ports:
- "8080:8080"
command: node services/products.js
reactapp:
stdin_open: true
tty: true
build:
context: './frontend/expense-calculator'
ports:
- "3000:3000"
command: npm start
答案 0 :(得分:0)
您可以关注本文。 https://medium.com/@karthi.net/how-to-scale-services-using-docker-compose-31d7b83a6648
这个想法很简单,使用一个容器并将docker容器与主机的多个端口号对应。为此,您需要缩放容器并在docker-compose.yml中告诉我容器的端口已与主机的这些端口进行了映射。
users:
build:
context: './backend'
ports:
- "8081-8082:8081"
command: node services/auth.js
和docker-compose up命令将是:
docker-compose -f "docker-composetest.yml" up --scale users=2 -d --build