本目录包含 Docker 相关的安装、部署和管理脚本。
| 脚本 |
功能 |
使用场景 |
| docker_install.sh |
自动安装最新版 Docker Engine + Compose |
新服务器初始化 |
| docker_compose_deploy.sh |
一键部署 26+ 基础设施组件 |
开发/测试环境搭建 |
| docker_cleaner.sh |
Docker 资源清理工具 |
定期维护 |
# 赋予执行权限
chmod +x *.sh
# 快速安装(中国镜像源)
sudo ./docker_install.sh -y --mirror china
# 验证安装
docker --version
docker compose version
# 查看可用组件
./docker_compose_deploy.sh list
# 交互式部署
./docker_compose_deploy.sh deploy
# 指定组件部署
./docker_compose_deploy.sh deploy redis,mysql,postgresql,minio,rustfs
# Redis 哨兵 + MongoDB 副本集
./docker_compose_deploy.sh deploy redis:sentinel,mysql,mongodb:rs
# Kafka KRaft 集群(无需 ZooKeeper)
./docker_compose_deploy.sh deploy kafka:cluster
# Nacos 集群 + MinIO 分布式
./docker_compose_deploy.sh deploy nacos:cluster,minio:distributed
# PostgreSQL 主从 + OpenSearch 集群 + Keycloak 集群
./docker_compose_deploy.sh deploy postgresql:ha,opensearch:cluster,keycloak:cluster
# 启动/停止/状态
./docker_compose_deploy.sh up
./docker_compose_deploy.sh down
./docker_compose_deploy.sh status
# 查看凭据信息
./docker_compose_deploy.sh info
# 清理所有无用资源
./docker_cleaner.sh -a
# 查看磁盘使用
./docker_cleaner.sh -s
| 类别 |
组件 |
版本 |
| 数据库 |
Redis, MySQL, PostgreSQL, MongoDB |
8.0, 8.4 LTS, 17, 8.0 |
| 搜索 |
Elasticsearch, OpenSearch |
8.19, 2.19 |
| 存储 |
MinIO, RustFS |
RELEASE.2025-10-15, 1.0.0-alpha.69 |
| 消息队列 |
RabbitMQ, Kafka, RocketMQ, Pulsar |
4.3, 8.3 (KRaft), 5.5, 4.2 |
| 协调 |
ZooKeeper |
3.9 |
| 网关 |
OpenResty, Kong |
1.27, 3.9 |
| 监控 |
Prometheus, Grafana, Loki, SkyWalking |
3.13, 12.4, 3.7, 10.4 |
| 日志 |
Logstash, Kibana |
8.19 |
| 安全 |
Keycloak, Sentinel |
26.6, 1.8 |
| 调度 |
XXL-Job, PowerJob |
3.4, 5.1 |
| 注册中心 |
Nacos |
3.2 |
| 组件 |
模式 |
说明 |
| Redis |
redis:sentinel |
哨兵模式(1主2从1哨兵) |
| Redis |
redis:cluster |
集群模式(6节点) |
| MySQL |
mysql:master-slave |
主从复制(GTID) |
| MySQL |
mysql:dual-master |
双主互备(GTID) |
| PostgreSQL |
postgresql:ha |
主从复制(流复制,pg_basebackup) |
| MongoDB |
mongodb:rs |
副本集(1主2从) |
| RabbitMQ |
rabbitmq:cluster |
集群(3节点,共享 Erlang Cookie) |
| Kafka |
kafka:cluster |
KRaft 集群(3 Broker,无需 ZooKeeper) |
| RocketMQ |
rocketmq:cluster |
集群(2 NameServer + 3 Broker) |
| ZooKeeper |
zookeeper:cluster |
集群(3节点) |
| Elasticsearch |
elasticsearch:cluster |
集群(3节点) |
| OpenSearch |
opensearch:cluster |
集群(3节点) |
| Nacos |
nacos:cluster |
集群(3节点,Raft 共识) |
| MinIO |
minio:distributed |
分布式(4节点,纠删码) |
| Keycloak |
keycloak:cluster |
集群(2节点,共享 PostgreSQL) |
| 方案 |
包含组件 |
| dev-minimal |
redis, mysql, minio |
| dev-full |
redis, mysql, postgresql, mongodb, minio, nacos, rabbitmq, kafka, zookeeper |
| monitoring |
prometheus, grafana, loki |
| elk |
elasticsearch, kibana, logstash |
| all-databases |
redis, mysql, postgresql, mongodb |
| all-mq |
rabbitmq, kafka, rocketmq, zookeeper, pulsar |
| storage |
minio, rustfs |
| cluster-mq |
kafka:cluster, rabbitmq:cluster, rocketmq:cluster |
所有数据卷统一挂载到 ~/docker-stack/data/ 目录下。