首次提交:初始化项目代码
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
# CloudNest 基础设施 Docker Compose
|
||||
# CloudNest Infrastructure Docker Compose
|
||||
# 包含 MySQL / Redis / MinIO 三个基础设施服务
|
||||
# Contains MySQL / Redis / MinIO infrastructure services
|
||||
|
||||
# 启动方式 / Startup:
|
||||
# docker compose -f docker-compose.infra.yml up -d
|
||||
# 停止方式 / Stop:
|
||||
# docker compose -f docker-compose.infra.yml down
|
||||
# 查看日志 / View logs:
|
||||
# docker compose -f docker-compose.infra.yml logs -f
|
||||
|
||||
# 环境变量说明 / Environment variables:
|
||||
# DB_HOST - MySQL 主机(默认:容器内主机名 mysql)
|
||||
# DB_PORT - MySQL 端口(默认:3306)
|
||||
# DB_USER - MySQL 用户(默认:root)
|
||||
# DB_PASSWORD - MySQL 密码(默认:sun900120)
|
||||
# DB_NAME - 数据库名(默认:cloudnest)
|
||||
# REDIS_PORT - Redis 端口(默认:6379)
|
||||
# MINIO_PORT - MinIO API 端口(默认:9000)
|
||||
# MINIO_CONSOLE_PORT - MinIO 控制台端口(默认:9001)
|
||||
# MINIO_ACCESS_KEY - MinIO 访问密钥(默认:minioadmin)
|
||||
# MINIO_SECRET_KEY - MinIO 秘密密钥(默认:minioadmin)
|
||||
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:8.0
|
||||
container_name: cloudnest-mysql
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD:-sun900120}
|
||||
MYSQL_DATABASE: ${DB_NAME:-cloudnest}
|
||||
ports:
|
||||
- "${DB_PORT:-3306}:3306"
|
||||
volumes:
|
||||
- mysql-data:/var/lib/mysql
|
||||
# 可选:挂载初始化脚本目录 / Optional: mount init scripts
|
||||
# - ./scripts/mysql/init:/docker-entrypoint-initdb.d
|
||||
networks:
|
||||
- cloudnest-network
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uroot", "-p${DB_PASSWORD:-sun900120}"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 30s
|
||||
command: --default-authentication-plugin=caching_sha2_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: cloudnest-redis
|
||||
ports:
|
||||
- "${REDIS_PORT:-6379}:6379"
|
||||
networks:
|
||||
- cloudnest-network
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 5
|
||||
# 可选:挂载 Redis 配置文件 / Optional: mount redis config
|
||||
# volumes:
|
||||
# - ./configs/redis.conf:/usr/local/etc/redis/redis.conf
|
||||
# command: redis-server /usr/local/etc/redis/redis.conf
|
||||
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
container_name: cloudnest-minio
|
||||
command: server /data --console-address ":9001"
|
||||
environment:
|
||||
MINIO_ROOT_USER: ${MINIO_ACCESS_KEY:-minioadmin}
|
||||
MINIO_ROOT_PASSWORD: ${MINIO_SECRET_KEY:-minioadmin}
|
||||
ports:
|
||||
- "${MINIO_PORT:-9000}:9000"
|
||||
- "${MINIO_CONSOLE_PORT:-9001}:9001"
|
||||
volumes:
|
||||
- minio-data:/data
|
||||
networks:
|
||||
- cloudnest-network
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 10s
|
||||
|
||||
volumes:
|
||||
mysql-data:
|
||||
name: cloudnest-mysql-data
|
||||
minio-data:
|
||||
name: cloudnest-minio-data
|
||||
|
||||
networks:
|
||||
cloudnest-network:
|
||||
name: cloudnest-network
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user