我正在使用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
答案 0 :(得分:0)
我不认为您想要实现的目标是可能的。相反,我将基于orientdb映像定义多个服务。
join
如果要扩展,那么我建议您使用orientdb集成了https://orientdb.com/docs/2.1.x/Distributed-Architecture.html的分布式系统,为此我还要添加一个协调器。 Docker群非常简单。我将从那个开始。