# 常见docker服务 **Repository Path**: ccq/common-docker-services ## Basic Information - **Project Name**: 常见docker服务 - **Description**: 一些常见的docker服务的docker-compose文件和配置 - **Primary Language**: Shell - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-13 - **Last Updated**: 2026-01-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 通用 Docker 服务集合 (common-docker-services) 本项目提供了一套预配置的 Docker Compose 模板,用于快速部署常用的基础中间件服务。所有服务都经过优化配置,可直接用于开发、测试和生产环境。 ## 📦 包含服务 本项目包含以下三种常用服务: ### 1. MinIO 对象存储服务 - **目录**: `minio/` - **用途**: 高性能对象存储,兼容 Amazon S3 API - **默认端口**: 9000 (API), 9001 (控制台) - **特点**: 支持分布式部署,数据持久化 ### 2. PostgreSQL 数据库 - **目录**: `postgresql/` - **用途**: 功能强大的开源关系型数据库 - **默认端口**: 5432 - **特点**: 支持高级特性如JSONB、全文搜索、窗口函数等 ### 3. Redis 缓存服务 - **目录**: `redis/` - **用途**: 高性能内存缓存和消息队列 - **默认端口**: 6379 - **特点**: 支持主从复制、集群模式、持久化 ## 🚀 快速开始 ### 环境要求 - Docker Engine 20.10+ - Docker Compose V2+ - 至少 2GB 可用内存 ### 通用部署步骤 1. **进入服务目录** ```bash cd minio/ # 或 postgresql/ 或 redis/ ``` 2. **配置环境变量** ```bash cp .env .env.backup # 编辑 .env 文件,根据需求调整配置 ``` 3. **启动服务** ```bash docker-compose up -d ``` 4. **验证服务状态** ```bash docker-compose ps ``` 5. **查看日志** ```bash docker-compose logs -f ``` ### 停止服务 ```bash docker-compose down # 完全清除数据 docker-compose down -v ``` ## 📁 目录结构 ``` common-docker-services/ ├── minio/ │ ├── docker-compose.yml │ ├── .env │ └── README.md ├── postgresql/ │ ├── docker-compose.yml │ ├── .env │ └── README.md ├── redis/ │ ├── docker-compose.yml │ ├── .env │ ├── redis.conf │ └── README.md ├── .gitignore └── LICENSE ``` ## ⚙️ 配置说明 ### 环境变量 (.env) 每个服务目录下的 `.env` 文件包含以下通用配置项: | 变量 | 说明 | 默认值 | |------|------|--------| | `COMPOSE_PROJECT_NAME` | 项目名称 | 服务目录名 | | `CONTAINER_NAME` | 容器名称 | - | | `IMAGE_TAG` | 镜像版本 | latest | | `DATA_PATH` | 数据存储路径 | ./data | ### 服务专用配置 #### MinIO - `MINIO_ROOT_USER`: 管理员用户名 (默认: admin) - `MINIO_ROOT_PASSWORD`: 管理员密码 (默认: password) - `MINIO_PROMETHEUS_AUTH_TYPE`: 监控认证类型 #### PostgreSQL - `POSTGRES_USER`: 数据库用户 (默认: postgres) - `POSTGRES_PASSWORD`: 数据库密码 - `POSTGRES_DB`: 默认数据库名 - `PGDATA`: 数据存储路径 #### Redis - `REDIS_PASSWORD`: 连接密码 - `REDIS_PORT`: 监听端口 - `ALLOW_EMPTY_PASSWORD`: 是否允许空密码 ## 🔧 高级配置 ### 数据持久化 所有服务默认将数据存储在本地 `data/` 目录。如需自定义存储位置,修改对应服务的 `.env` 文件中的 `DATA_PATH` 变量。 ### 网络配置 服务默认使用 Docker 默认网络。如需自定义网络,在 `docker-compose.yml` 中配置 `networks` 部分。 ### 资源限制 可在 `docker-compose.yml` 的 `deploy` 章节中配置 CPU 和内存限制: ```yaml deploy: resources: limits: cpus: '2.00' memory: 4G ``` ## 📊 服务访问信息 | 服务 | 连接地址 | 默认用户 | 默认密码 | |------|----------|----------|----------| | MinIO Console | http://localhost:9001 | admin | password | | PostgreSQL | localhost:5432 | postgres | postgres | | Redis | localhost:6379 | 无 | 无 | ## 🔒 安全建议 1. **修改默认密码**: 在部署前修改 `.env` 文件中的默认密码 2. **限制网络访问**: 使用防火墙规则限制服务端口访问 3. **定期备份**: 配置自动备份策略 4. **使用 Secrets**: 生产环境建议使用 Docker Secrets ## 🧪 开发与测试 ### 本地开发 所有服务都支持热重载和配置更改: ```bash docker-compose up -d # 启动服务 docker-compose exec sh # 进入容器 ``` ### 单元测试 使用以下命令运行服务健康检查: ```bash docker-compose ps # 查看所有服务状态 docker-compose exec # 执行测试命令 ``` ## 📝 许可证 本项目采用 [MIT License](LICENSE) 开源协议。 ## 🤝 贡献指南 1. Fork 本仓库 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 📞 支持与反馈 如有问题或建议,欢迎通过 Gitee Issues 反馈。 ## 🔗 相关链接 - [MinIO 官方文档](https://min.io/docs/minio/container/index.html) - [PostgreSQL 官方文档](https://www.postgresql.org/docs/) - [Redis 官方文档](https://redis.io/documentation) --- **注意**: 生产环境使用时,请务必根据实际需求调整配置参数,并做好数据备份策略。