如何使用docker-compose

时间:2019-03-07 14:04:25

标签: docker docker-compose docker-volume

我正在使用docker-compose设置应用程序。使用orientdb数据库,该数据库使用文件存储来保存数据。当我扩展数据库服务时,所有实例都指向相同的命名卷“ db_data”。

services:
 orient-db:
    image: orientdb:3.0.1
    entrypoint: /orientdb/bin/server.sh -Ddistributed=true
    environment:
        ORIENTDB_ROOT_PASSWORD: root
    volumes:
        - db_data:/orientdb/databases
volumes:
 db_data:

我想要做的是将副本的/ orientdb / databases位置指向每个新实例的新目录,类似这样

      services:
 orient-db:
    image: orientdb:3.0.1
    entrypoint: /orientdb/bin/server.sh -Ddistributed=true
    environment:
        ORIENTDB_ROOT_PASSWORD: root
    volumes:
        - db_data/${instance_number}:/orientdb/databases
volumes:
 db_data:

但是当我这样做时,它不会为每个副本创建一个新文件夹

docker-compose up --scale orient-db=3 orient-db

1 个答案:

答案 0 :(得分:0)

我不认为您想要实现的目标是可能的。相反,我将基于orientdb映像定义多个服务。

join

如果要扩展,那么我建议您使用orientdb集成了https://orientdb.com/docs/2.1.x/Distributed-Architecture.html的分布式系统,为此我还要添加一个协调器。 Docker群非常简单。我将从那个开始。