version: '3.8' networks: datakeep-net: driver: bridge services: backend: build: ./backend container_name: datakeep-backend restart: unless-stopped environment: - TZ=Asia/Shanghai - DATAKEEP_DATA_DIR=/data volumes: - ./data/datakeep:/data networks: - datakeep-net frontend: build: ./frontend container_name: datakeep-frontend restart: unless-stopped ports: - "12000:80" depends_on: - backend networks: - datakeep-net # ===== DR Instance 1 (示例) ===== dr1-mysql: image: mysql:8.0 container_name: dr1-mysql restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: rootpass1 volumes: - ./data/dr1/mysql:/var/lib/mysql networks: - datakeep-net dr1-redis: image: redis:7-alpine container_name: dr1-redis restart: unless-stopped command: ["redis-server", "--appendonly", "yes"] volumes: - ./data/dr1/redis:/data networks: - datakeep-net dr1-minio: image: minio/minio:latest container_name: dr1-minio restart: unless-stopped environment: MINIO_ROOT_USER: minio1 MINIO_ROOT_PASSWORD: minio1pass123 command: server /data --console-address ":9001" volumes: - ./data/dr1/minio:/data networks: - datakeep-net # ===== 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