chore: docker构建脚本优化,SQL脚本完善

This commit is contained in:
2026-02-25 14:54:48 +08:00
parent 0bb4c884b0
commit a25a511894
9 changed files with 1769 additions and 33 deletions

View File

@@ -0,0 +1,125 @@
# 本项目后端所需中间件,开箱即用
name: easyflow-middleware
services:
mysql:
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.0.36-linuxarm64
container_name: easyflow-mysql
restart: unless-stopped
command:
- --default-authentication-plugin=mysql_native_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --max_connections=500
- --sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
environment:
TZ: ${TZ:-Asia/Shanghai}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root}
MYSQL_DATABASE: ${MYSQL_DATABASE:-easyflow}
MYSQL_USER: ${MYSQL_USER:-easyflow}
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-123456}
ports:
- "${MYSQL_PORT:-3306}:3306"
volumes:
- ./data/mysql:/var/lib/mysql
- ./easyflow/sql/initdb:/docker-entrypoint-initdb.d:ro
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uroot", "-p${MYSQL_ROOT_PASSWORD:-root}"]
interval: 10s
timeout: 5s
retries: 10
start_period: 30s
redis:
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/kubesphere/redis:7.2.4-alpine-linuxarm64
container_name: easyflow-redis
restart: unless-stopped
command: ["redis-server", "--appendonly", "yes", "--requirepass", "${REDIS_PASSWORD:-123456}"]
ports:
- "${REDIS_PORT:-6379}:6379"
volumes:
- ./data/redis:/data
healthcheck:
test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD:-123456}", "ping"]
interval: 10s
timeout: 5s
retries: 10
start_period: 10s
etcd:
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/coreos/etcd:v3.5.5-linuxarm64
container_name: easyflow-etcd
restart: unless-stopped
environment:
TZ: ${TZ:-Asia/Shanghai}
ETCD_AUTO_COMPACTION_MODE: revision
ETCD_AUTO_COMPACTION_RETENTION: "1000"
ETCD_QUOTA_BACKEND_BYTES: "4294967296"
ETCD_SNAPSHOT_COUNT: "50000"
command:
- /usr/local/bin/etcd
- --advertise-client-urls=http://0.0.0.0:2379
- --listen-client-urls=http://0.0.0.0:2379
- --data-dir=/etcd
volumes:
- ./data/etcd:/etcd
minio:
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/minio/minio:RELEASE.2025-07-23T15-54-02Z-linuxarm64
container_name: easyflow-minio
restart: unless-stopped
command: server /data --address ":9000" --console-address ":9001"
environment:
TZ: ${TZ:-Asia/Shanghai}
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-easyflowadmin}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-easyflowadmin123}
ports:
- "${MINIO_PORT:-9000}:9000"
- "${MINIO_CONSOLE_PORT:-9001}:9001"
volumes:
- ./data/minio:/data
minio-init:
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/minio/mc:RELEASE.2024-09-16T17-43-14Z-linuxarm64
container_name: easyflow-minio-init
restart: "no"
depends_on:
- minio
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-easyflowadmin}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-easyflowadmin123}
MINIO_ENDPOINT: ${MINIO_ENDPOINT:-http://minio:9000}
MINIO_BUCKETS: ${MINIO_BUCKETS:-easyflow,milvus}
MINIO_PUBLIC_BUCKETS: ${MINIO_PUBLIC_BUCKETS:-easyflow}
MINIO_ALIAS: ${MINIO_ALIAS:-local}
volumes:
- ./scripts/minio/init-minio.sh:/scripts/init-minio.sh:ro
entrypoint: ["/bin/sh", "/scripts/init-minio.sh"]
milvus:
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/milvusdb/milvus:v2.3.3-linuxarm64
container_name: easyflow-milvus
restart: unless-stopped
command: ["milvus", "run", "standalone"]
security_opt:
- seccomp:unconfined
environment:
ETCD_ENDPOINTS: etcd:2379
COMMON_STORAGETYPE: minio
MINIO_ADDRESS: ${MILVUS_MINIO_ADDRESS:-minio:9000}
MINIO_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-easyflowadmin}
MINIO_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:-easyflowadmin123}
MINIO_USE_SSL: "false"
MINIO_BUCKET_NAME: ${MILVUS_MINIO_BUCKET:-milvus}
depends_on:
etcd:
condition: service_started
minio:
condition: service_started
minio-init:
condition: service_completed_successfully
ports:
- "${MILVUS_GRPC_PORT:-19530}:19530"
- "${MILVUS_HTTP_PORT:-9091}:9091"
volumes:
- ./data/milvus:/var/lib/milvus