docker compose创建多组服务
我试图在1台AWS EC2机器上创建3个服务 让我用更多的文字进一步解释: 当我运行docker compose创建多组服务,docker,docker-compose,mattermost,Docker,Docker Compose,Mattermost,我试图在1台AWS EC2机器上创建3个服务 让我用更多的文字进一步解释: 当我运行docker compose up-d时,我得到一个结构如下的服务: 如何修改docker相关脚本,以便创建3组服务 我已经试过了docker-compose-up--scale-app=3--scale-web=3--scale-db=3。但是我找不到任何方法为每个App容器指定不同的端口 我找到的唯一解决方案是: 创建3份mattermost docker文件夹的副本 更改App端口和数据库连接信息 分别
docker compose up-d
时,我得到一个结构如下的服务:
如何修改docker相关脚本,以便创建3组服务
我已经试过了docker-compose-up--scale-app=3--scale-web=3--scale-db=3
。但是我找不到任何方法为每个App
容器指定不同的端口
我找到的唯一解决方案是:
mattermost docker
文件夹的副本App
端口和数据库连接信息mattermost-docker1
、mattermost-docker2
和mattermost-docker3
中运行docker compose up-d
3次有人知道如何创建3组mattermost服务吗 您需要在docker compose中指定端口范围: 例如,对于10容器缩放:
version: '3'
services:
web:
...
ports:
- "80-90:443"
app:
...
ports:
- "8000-8010"
注意,您不需要更改容器内的端口(4434445)。您可以使用相同的,而且这是推荐的,因为尽管您在一个端口范围内使用不同的容器,但如果它们使用相同的nginx配置,则更容易使用。这将使用3个单独的数据库启动服务集(以nginx和mongo为例) 本地测试:
NAMES STATUS PORTS IMAGE
db2 Up About a minute 27017/tcp, 0.0.0.0:32803->27018/tcp mongo
web1 Up About a minute 80/tcp, 0.0.0.0:32802->8080/tcp nginx:latest
db1 Up About a minute 0.0.0.0:32801->27017/tcp mongo
app1 Up About a minute 80/tcp, 0.0.0.0:32800->8081/tcp nginx:latest
app3 Up About a minute 80/tcp, 0.0.0.0:32798->8085/tcp nginx:latest
db3 Up About a minute 27017/tcp, 0.0.0.0:32799->27019/tcp mongo
app2 Up About a minute 80/tcp, 0.0.0.0:32797->8083/tcp nginx:latest
web3 Up About a minute 80/tcp, 0.0.0.0:32796->8084/tcp nginx:latest
web2 Up About a minute 80/tcp, 0.0.0.0:32795->8082/tcp nginx:latest
我认为您应该创建3个不同的文件,因为docker compose本身是一个二进制文件,它与docker引擎一起工作,以创建3个不同的mattermost服务集。此外,出于可维护性的考虑,这也更好。看看这是否有帮助?共享docker compose文件的内容。但是如何为3个数据库创建3个不同的名称?为什么需要?您可以创建相同的数据库名称。每个容器都是独立的。嗨,谢谢你的帮助。但mattermost似乎不支持通过配置
docker compose.yml
来更改app
端口。也许我需要更深入地修改app
文件夹下的文件。我会仔细看看
NAMES STATUS PORTS IMAGE
db2 Up About a minute 27017/tcp, 0.0.0.0:32803->27018/tcp mongo
web1 Up About a minute 80/tcp, 0.0.0.0:32802->8080/tcp nginx:latest
db1 Up About a minute 0.0.0.0:32801->27017/tcp mongo
app1 Up About a minute 80/tcp, 0.0.0.0:32800->8081/tcp nginx:latest
app3 Up About a minute 80/tcp, 0.0.0.0:32798->8085/tcp nginx:latest
db3 Up About a minute 27017/tcp, 0.0.0.0:32799->27019/tcp mongo
app2 Up About a minute 80/tcp, 0.0.0.0:32797->8083/tcp nginx:latest
web3 Up About a minute 80/tcp, 0.0.0.0:32796->8084/tcp nginx:latest
web2 Up About a minute 80/tcp, 0.0.0.0:32795->8082/tcp nginx:latest