繁体   English   中英

docker-compose创建多套服务

[英]docker-compose creating multiple set of services

我正在尝试在一台AWS EC2计算机上创建3个最重要的服务。

让我用更多的文字进一步解释:

当我运行docker-compose up -d ,我得到一个服务,其结构如下:

在此处输入图片说明

如何修改与docker相关的脚本,以便创建3套服务?

在此处输入图片说明

我已经尝试过docker-compose up --scale app=3 --scale web=3 --scale db=3 但是我找不到任何方法为每个App容器指定不同的端口。

我发现的唯一解决方案是:

  1. 创建3个mattermost-docker文件夹副本。

  2. 更改App端口和数据库连接信息。

  3. 分别在mattermost-docker1mattermost-docker2mattermost-docker3运行mattermost-docker1 docker-compose up -d 3次。

但是此解决方案会创建很多重复的文件。 我不喜欢

有谁知道如何创建3套最重要的服务?

您需要在docker compose中指定端口范围:

例如,对于10个容器缩放比例:

version: '3'

services:
  web:
    ...
    ports:
      - "80-90:443"

  app:
    ...
    ports:
      - "8000-8010"

请注意,您不需要更改容器内的端口(443、444、445)。 您可以使用相同的容器,并且建议您这样做,因为尽管您在端口范围内使用了不同的容器,但是如果它们使用相同的nginx配置,则会更加容易。

这将使用3个独立的数据库(以nginx和mongo为例)启动服务集。

  version: '3'

  services:

    web1:
      container_name: web1
      image: nginx:latest
      ports:
        - 8080:8080

    app1:
      container_name: app1
      image: nginx:latest
      ports:
        - "8081:8081"
    db1:
      container_name: db1
      image: mongo
      ports:
        - 27017

    web2:
      container_name: web2
      image: nginx:latest
      ports:
        - 8082:8082

    app2:
      container_name: app2
      image: nginx:latest
      ports:
        - "8083:8083"
    db2:
      container_name: db2
      image: mongo
      ports:
        - 27018

    web3:
      container_name: web3
      image: nginx:latest
      ports:
        - 8084:8084
    app3:
      container_name: app3
      image: nginx:latest
      ports:
        - "8085:8085"
    db3:
      container_name: db3
      image: mongo
      ports:
        - 27019

本地测试:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM