# docker-compose **Repository Path**: xu_xiaolong/docker-compose ## Basic Information - **Project Name**: docker-compose - **Description**: 容器脚本项目,通过docker-compose编排一系列环境进行一键快速部署运行。 - **Primary Language**: Java - **License**: MPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-01-07 - **Last Updated**: 2026-01-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Docker Compose 项目集合 ## 项目介绍 🚀 本项目是一个 Docker Compose 配置集合,包含了多种常用服务和应用的容器化配置。通过简单的命令,您可以快速部署各种开发、测试和生产环境所需的服务,无需关心复杂的安装和配置过程。 ### 主要功能特点 - 📦 **一站式服务集合**:包含数据库、消息队列、监控工具、CI/CD 等多种常用服务 - 📝 **标准化配置**:所有服务都采用标准化的 Docker Compose 配置,易于理解和修改 - ⚡ **快速部署**:通过简单的 docker-compose 命令即可快速部署和管理服务 - 🔒 **隔离环境**:每个服务都运行在独立的容器中,避免环境冲突 - 📈 **可扩展性**:支持根据实际需求修改配置,扩展服务功能 ## 目录结构 ``` docker-compose/ ├── compose/ # 服务配置目录 │ ├── DBMotion/ # 数据库迁移工具 │ ├── dateease/ # 数据可视化工具 │ ├── efk/ # Elasticsearch + Fluentd + Kibana 日志系统 │ ├── elk/ # Elasticsearch + Logstash + Kibana 日志系统 │ ├── grafana/ # 监控可视化工具 │ ├── graylog/ # 日志管理平台 │ ├── jenkins/ # CI/CD 工具 │ ├── kafak/ # 消息队列 │ ├── mrdoc/ # 文档管理系统 │ ├── mysql8.0/ # MySQL 数据库 │ ├── nacos/ # 注册中心 │ ├── nginx/ # Web 服务器 │ ├── plumelog/ # 日志系统 │ ├── rabbitmq/ # 消息队列 │ ├── redis/ # 缓存数据库 │ ├── redisinsight/ # Redis 可视化工具 │ ├── sonarqube/ # 代码质量分析工具 │ ├── xechat/ # 聊天系统 │ ├── xxl-job/ # 分布式任务调度平台 │ └── yearning/ # SQL 审核平台 ├── doc/ # 文档目录 ├── .gitignore # Git 忽略文件 ├── LICENSE # 许可证文件 └── README.md # 项目说明文档 ``` ## 使用说明 ### 前提条件 - 🐳 安装 Docker:[Docker 官方安装指南](https://docs.docker.com/get-docker/) - 📦 安装 Docker Compose:[Docker Compose 官方安装指南](https://docs.docker.com/compose/install/) ### 基本使用方法 1. 📁 **进入服务目录**: ```bash cd compose/服务名称 ``` 2. 🚀 **启动服务**: ```bash docker-compose -f docker-compose-服务名称.yml up -d ``` 3. 👁️ **查看服务状态**: ```bash docker-compose -f docker-compose-服务名称.yml ps ``` 4. ⏹️ **停止服务**: ```bash docker-compose -f docker-compose-服务名称.yml down ``` 5. 📋 **查看服务日志**: ```bash docker-compose -f docker-compose-服务名称.yml logs ``` ### 常用服务部署示例 #### 🗄️ MySQL 8.0 ```bash cd compose/mysql8.0 docker-compose -f docker-compose-mysql.yml up -d ``` #### 📊 Redis ```bash cd compose/redis docker-compose -f docker-compose-redis.yml up -d ``` #### 🌐 Nginx ```bash cd compose/nginx docker-compose -f docker-compose-nginx.yml up -d ``` #### 🐰 RabbitMQ ```bash cd compose/rabbitmq docker-compose -f docker-compose-rabbitmq.yml up -d ``` ## 可用服务列表 | 服务名称 | 描述 | 配置文件 | |---------|------|----------| | DBMotion | 数据库迁移工具 | docker-compose-dbMotion.yml | | dateease | 数据可视化工具 | docker-compose-dateease.yml | | efk | Elasticsearch + Fluentd + Kibana 日志系统 | - | | elk | Elasticsearch + Logstash + Kibana 日志系统 | docker-compose-elk.yml | | grafana | 监控可视化工具 | docker-compose-grafana.yml | | graylog | 日志管理平台 | docker-compose-graylog.yml | | jenkins | CI/CD 工具 | docker-compose-jenkins.yml | | kafak | 消息队列 | docker-compose-kafka.yml | | mrdoc | 文档管理系统 | docker-compose-mrdoc.yml, docker-compose-mrdoc-mysql8.yml | | mysql8.0 | MySQL 数据库 | docker-compose-mysql.yml | | nacos | 注册中心 | docker-compose-standalone-mysql.yaml, docker-compose-standalone-derby.yaml, docker-compose-latest.yaml | | nginx | Web 服务器 | docker-compose-nginx.yml | | plumelog | 日志系统 | docker-compose-plumelog.yml | | rabbitmq | 消息队列 | docker-compose-rabbitmq.yml | | redis | 缓存数据库 | docker-compose-redis.yml | | redisinsight | Redis 可视化工具 | docker-compose-redisinsight.yml | | sonarqube | 代码质量分析工具 | docker-compose-sonarqube-mysql.yml, docker-compose-sonarqube-postgres.yml | | xechat | 聊天系统 | docker-compose-xechat.yml | | xxl-job | 分布式任务调度平台 | docker-compose-xxl-job.yml | | yearning | SQL 审核平台 | docker-compose-yearning.yml | ## 注意事项 1. ⚙️ **资源需求**:部分服务(如 Elasticsearch、SonarQube 等)对系统资源要求较高,请确保主机有足够的内存和 CPU 资源 2. 🔌 **端口冲突**:默认配置中可能存在端口冲突,请根据实际情况修改配置文件中的端口映射 3. 💾 **数据持久化**:默认配置中已设置数据持久化,数据会保存在容器卷中 4. 🔒 **安全配置**:默认配置为了方便使用,可能采用了较为宽松的安全设置,请在生产环境中根据实际需求进行调整 5. 🌐 **网络配置**:默认使用 Docker 网络,如需与外部网络通信,请修改网络配置 ## 故障排查 1. ❌ **服务启动失败**:查看日志以获取详细错误信息 ```bash docker-compose -f docker-compose-服务名称.yml logs ``` 2. 🚪 **端口被占用**:修改配置文件中的端口映射,使用未被占用的端口 3. 📊 **资源不足**:增加主机资源或修改服务的资源限制配置 4. 🔗 **网络问题**:检查 Docker 网络配置,确保容器间网络通信正常 ## 贡献 🤝 欢迎提交 Issue 和 Pull Request 来改进本项目。 ## 许可证 📄 本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。