# docker-composer-springclound **Repository Path**: 910922164/docker-composer-springclound ## Basic Information - **Project Name**: docker-composer-springclound - **Description**: 集成了常用的中间件和服务组件的docker composer。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-30 - **Last Updated**: 2025-07-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Spring Cloud Docker 微服务环境 集成了常用的中间件和服务组件的docker composer。 ## 🏗️ 项目架构 本项目使用 Docker Compose 编排以下服务组件: ### 核心服务 - **MySQL 8.0** - 关系型数据库 - **Redis** - 缓存数据库 - **Nacos** - 服务注册与配置中心 - **RocketMQ** - 消息队列 - **XXL-JOB** - 分布式任务调度平台 ### 服务详情 | 服务名称 | 容器名称 | 端口映射 | 说明 | |---------|---------|---------|------| | MySQL | mysql | 3306:3306 | 数据库服务 | | Redis | redis | 6379:6379 | 缓存服务 | | Nacos | nacos | 9848:9848, 9849:9849 | 服务注册中心 | | RocketMQ NameServer | rmq-namesrv | 9876:9876 | 消息队列命名服务 | | RocketMQ Broker | rmq-broker | 10911:10911, 10912:10912 | 消息队列代理 | | RocketMQ Dashboard | rmq-dashboard | 8040:8080 | 消息队列管理界面 | | XXL-JOB Admin | xxl-job-admin | 8030:8080 | 任务调度管理界面 | ## 🚀 快速开始 ### 前置要求 - Docker - Docker Compose - macOS/Linux 环境 ### 启动服务 1. **使用启动脚本(推荐)** ```bash chmod +x startup.sh ./startup.sh ``` 2. **手动启动** ```bash cd src/main/resources docker-compose up -d ``` ### 停止服务 ```bash cd src/main/resources docker-compose down ``` ## 📋 服务访问 启动成功后,可以通过以下地址访问各个服务: - **Nacos 控制台**: http://localhost:8848/nacos - 用户名: nacos - 密码: nacos - **RocketMQ Dashboard**: http://localhost:8040 - **XXL-JOB 管理界面**: http://localhost:8030/xxl-job-admin - 用户名: admin - 密码: 123456 - **MySQL 连接信息**: - 主机: localhost - 端口: 3306 - 用户名: root - 密码: 123456 - 数据库: spring-cloud, nacos, xxl_job - **Redis 连接信息**: - 主机: localhost - 端口: 6379 - 密码: 123456 ## 🔧 配置说明 ### 自动初始化 启动脚本会自动创建以下配置: 1. **目录结构**: 自动创建所需的数据和日志目录 2. **数据库初始化**: 自动创建 nacos 和 xxl_job 数据库及相关表 3. **配置文件**: 自动生成 Redis、Nacos 等服务的配置文件 ### 重要配置文件 - `docker-compose.yml` - Docker 服务编排配置 - `startup.sh` - 一键启动脚本 - `mysql/docker-entrypoint-initdb.d/init.sql` - 数据库初始化脚本 - `nacos/conf/application.properties` - Nacos 配置 - `redis/conf/redis.conf` - Redis 配置 - `rocketmq/conf/broker.conf` - RocketMQ Broker 配置 ## 🛠️ 自定义配置 ### 修改密码 在 `startup.sh` 中修改以下配置: ```bash # MySQL root 密码 MYSQL_ROOT_PASSWORD: 123456 # Redis 密码 requirepass 123456 # XXL-JOB 访问令牌 --xxl.job.accessToken=caojm123456 ``` ### 端口冲突 如果遇到端口冲突,可以在 `docker-compose.yml` 中修改端口映射: ```yaml ports: - "新端口:容器端口" ``` ## 📁 目录结构 ``` . ├── README.md # 项目说明文档 ├── startup.sh # 一键启动脚本 ├── pom.xml # Maven 配置文件 └── src/main/resources/ ├── docker-compose.yml # Docker Compose 配置 ├── mysql/ # MySQL 相关配置和数据 ├── redis/ # Redis 配置和数据 ├── nacos/ # Nacos 配置和日志 ├── rocketmq/ # RocketMQ 配置 └── job/ # XXL-JOB 日志 ``` ## ⚠️ 注意事项 1. **ARM64 架构兼容性**: XXL-JOB 镜像已配置 `platform: linux/amd64` 以支持 Apple Silicon Mac 2. **数据持久化**: 所有服务数据都通过 volume 挂载到本地目录 3. **网络连接**: 服务间通过 Docker 内部网络通信 4. **资源要求**: 建议至少 4GB 内存用于运行所有服务