加入一对一实例数据同步能力

This commit is contained in:
2026-02-09 18:16:24 +08:00
parent c2ffb3c8b8
commit 5080bf9bc1
2 changed files with 128 additions and 63 deletions

View File

@@ -1,5 +1,9 @@
version: '3.8'
networks:
datakeep-net:
driver: bridge
services:
backend:
build: ./backend
@@ -10,10 +14,6 @@ services:
- DATAKEEP_DATA_DIR=/data
volumes:
- ./data/datakeep:/data
depends_on:
- dr-mysql
- dr-redis
- dr-minio
networks:
- datakeep-net
@@ -28,49 +28,107 @@ services:
networks:
- datakeep-net
dr-mysql:
# ===== DR Instance 1 (示例) =====
dr1-mysql:
image: mysql:8.0
container_name: dr-mysql
container_name: dr1-mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: datakeep
MYSQL_ROOT_PASSWORD: rootpass1
volumes:
- ./data/mysql:/var/lib/mysql
ports:
- "3306:3306"
- ./data/dr1/mysql:/var/lib/mysql
networks:
- datakeep-net
dr-redis:
dr1-redis:
image: redis:7-alpine
container_name: dr-redis
container_name: dr1-redis
restart: unless-stopped
ports:
- "6379:6379"
volumes:
- ./data/redis:/data
command: ["redis-server", "--appendonly", "yes"]
volumes:
- ./data/dr1/redis:/data
networks:
- datakeep-net
dr-minio:
dr1-minio:
image: minio/minio:latest
container_name: dr-minio
container_name: dr1-minio
restart: unless-stopped
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin123
MINIO_ROOT_USER: minio1
MINIO_ROOT_PASSWORD: minio1pass123
command: server /data --console-address ":9001"
ports:
- "9000:9000"
- "9001:9001"
volumes:
- ./data/minio:/data
- ./data/dr1/minio:/data
networks:
- datakeep-net
networks:
datakeep-net:
driver: bridge
# ===== DR Instance 2 (示例) =====
dr2-mysql:
image: mysql:8.0
container_name: dr2-mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: rootpass2
volumes:
- ./data/dr2/mysql:/var/lib/mysql
networks:
- datakeep-net
dr2-redis:
image: redis:7-alpine
container_name: dr2-redis
restart: unless-stopped
command: ["redis-server", "--appendonly", "yes"]
volumes:
- ./data/dr2/redis:/data
networks:
- datakeep-net
dr2-minio:
image: minio/minio:latest
container_name: dr2-minio
restart: unless-stopped
environment:
MINIO_ROOT_USER: minio2
MINIO_ROOT_PASSWORD: minio2pass123
command: server /data --console-address ":9001"
volumes:
- ./data/dr2/minio:/data
networks:
- datakeep-net
# ===== DR Instance 3 (示例) =====
dr3-mysql:
image: mysql:8.0
container_name: dr3-mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: rootpass3
volumes:
- ./data/dr3/mysql:/var/lib/mysql
networks:
- datakeep-net
dr3-redis:
image: redis:7-alpine
container_name: dr3-redis
restart: unless-stopped
command: ["redis-server", "--appendonly", "yes"]
volumes:
- ./data/dr3/redis:/data
networks:
- datakeep-net
dr3-minio:
image: minio/minio:latest
container_name: dr3-minio
restart: unless-stopped
environment:
MINIO_ROOT_USER: minio3
MINIO_ROOT_PASSWORD: minio3pass123
command: server /data --console-address ":9001"
volumes:
- ./data/dr3/minio:/data
networks:
- datakeep-net