Files
datakeep/docker-compose.yml

135 lines
2.9 KiB
YAML
Raw Permalink Normal View History

2026-02-09 18:07:46 +08:00
version: '3.8'
networks:
datakeep-net:
driver: bridge
2026-02-09 18:07:46 +08:00
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:
2026-02-09 18:07:46 +08:00
image: mysql:8.0
container_name: dr1-mysql
2026-02-09 18:07:46 +08:00
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: rootpass1
2026-02-09 18:07:46 +08:00
volumes:
- ./data/dr1/mysql:/var/lib/mysql
2026-02-09 18:07:46 +08:00
networks:
- datakeep-net
dr1-redis:
2026-02-09 18:07:46 +08:00
image: redis:7-alpine
container_name: dr1-redis
2026-02-09 18:07:46 +08:00
restart: unless-stopped
command: ["redis-server", "--appendonly", "yes"]
2026-02-09 18:07:46 +08:00
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
2026-02-09 18:07:46 +08:00
command: ["redis-server", "--appendonly", "yes"]
volumes:
- ./data/dr2/redis:/data
2026-02-09 18:07:46 +08:00
networks:
- datakeep-net
dr2-minio:
2026-02-09 18:07:46 +08:00
image: minio/minio:latest
container_name: dr2-minio
2026-02-09 18:07:46 +08:00
restart: unless-stopped
environment:
MINIO_ROOT_USER: minio2
MINIO_ROOT_PASSWORD: minio2pass123
2026-02-09 18:07:46 +08:00
command: server /data --console-address ":9001"
volumes:
- ./data/dr2/minio:/data
2026-02-09 18:07:46 +08:00
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
2026-02-09 18:07:46 +08:00
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