# docker-compose **Repository Path**: service_rd_group/docker-compose ## Basic Information - **Project Name**: docker-compose - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-27 - **Last Updated**: 2025-05-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Docker Compose 中间件服务集成 本项目提供了一个完整的中间件服务开发环境,包含了常用的数据库、缓存、消息队列和配置中心服务。所有服务都已配置了健康检查和外部化配置。 ## 目录结构 ``` . ├── README.md ├── docker-compose.yml ├── kafka │ ├── config │ │ └── server.properties # Kafka 配置文件 │ └── data # Kafka 数据目录 ├── mysql │ ├── config │ │ └── my.cnf # MySQL 配置文件 │ ├── data # MySQL 数据目录 │ └── init # MySQL 初始化脚本目录 ├── nacos │ ├── config │ │ └── application.properties # Nacos 配置文件 │ ├── data # Nacos 数据目录 │ └── logs # Nacos 日志目录 ├── redis │ ├── config │ │ └── redis.conf # Redis 配置文件 │ └── data # Redis 数据目录 └── zookeeper ├── config │ └── zoo.cfg # ZooKeeper 配置文件 └── data # ZooKeeper 数据目录 ``` ## 服务列表 | 服务名 | 版本 | 端口 | 说明 | |-----------|---------|--------------------------|------------------------| | MySQL | 8.0.42 | 3306 | 数据库服务 | | Redis | 7.0 | 6379 | 缓存服务 | | ZooKeeper | latest | 2181, 8080 | 分布式协调服务 | | Kafka | latest | 9092, 9093 | 消息队列服务 | | Nacos | 2.4.3 | 8848, 9848 | 配置中心和服务发现 | ## 快速开始 ### 前置条件 - Docker 20.10.0+ - Docker Compose 2.0.0+ - 至少 4GB 可用内存 - 至少 10GB 可用磁盘空间 ### 启动服务 ```bash # 启动所有服务 docker-compose up -d # 查看服务状态 docker-compose ps # 查看服务日志 docker-compose logs -f [service_name] ``` ### 停止服务 ```bash # 停止所有服务 docker-compose down # 停止并删除数据卷 docker-compose down -v ``` ## 服务访问 ### MySQL - 主机:localhost - 端口:3306 - 用户名:root - 密码:root - 数据库:nacos ### Redis - 主机:localhost - 端口:6379 - 配置文件:redis/config/redis.conf ### ZooKeeper - 主机:localhost - 客户端端口:2181 - 管理端口:8080 - 配置文件:zookeeper/config/zoo.cfg ### Kafka - 主机:localhost - 端口:9092 - 控制器端口:9093 - 配置文件:kafka/config/server.properties ### Nacos - 控制台:http://localhost:8848/nacos - 用户名:nacos - 密码:nacos - 配置文件:nacos/config/application.properties ## 配置说明 ### MySQL 配置 MySQL 配置文件位于 `mysql/config/my.cnf`,主要配置包括: - 字符集:utf8mb4 - 认证插件:mysql_native_password - 表名大小写不敏感 ### Redis 配置 Redis 配置文件位于 `redis/config/redis.conf`,主要配置包括: - 最大内存:512MB - 内存策略:allkeys-lru - AOF持久化:开启 - 访问控制:允许所有IP访问 ### ZooKeeper 配置 ZooKeeper 配置文件位于 `zookeeper/config/zoo.cfg`,主要配置包括: - 客户端最大连接数:60 - 管理服务:启用 - 快照目录:/data ### Kafka 配置 Kafka 配置文件位于 `kafka/config/server.properties`,主要配置包括: - Broker ID:1 - 监听地址:PLAINTEXT://:9092 - ZooKeeper连接:zookeeper:2181 - 日志保留时间:168小时 ### Nacos 配置 Nacos 配置文件位于 `nacos/config/application.properties`,主要配置包括: - 运行模式:standalone - 数据库:MySQL - 认证:关闭 - 自动清理:开启 ## 注意事项 1. 首次启动时,请确保所有配置文件都存在且权限正确 2. 建议在生产环境中修改默认密码 3. 数据目录已通过 Docker volumes 持久化 4. 所有服务都配置了健康检查,可通过 `docker-compose ps` 查看状态 5. 如需修改配置,可直接修改对应的配置文件,然后重启相关服务 ## 常见问题 1. 如果服务无法启动,请检查: - 端口是否被占用 - 配置文件权限是否正确 - 系统资源是否充足 2. 如果需要清理所有数据: ```bash docker-compose down -v rm -rf */data ``` 3. 如何查看服务日志: ```bash # 查看指定服务的日志 docker-compose logs -f [service_name] # 查看所有服务的日志 docker-compose logs -f ``` ## 维护说明 - 建议定期备份数据目录 - 监控服务器资源使用情况 - 及时更新镜像版本以修复安全漏洞 - 参考各个服务的官方文档进行进一步的优化配置