核心是分阶段落实关键动作:稳选Ubuntu 20.04/22.04 LTS,安装Docker并配置镜像加速与日志轮转,用docker-compose编排多服务并挂载数据与配置,最后闭环验证健康检查、跨服务调用及故障恢复能力。

基础环境准备要稳
选 Ubuntu 20.04 或 22.04 LTS,内核 ≥5.4;所有节点先执行:
- 更新系统:
sudo apt update && sudo apt upgrade -y - 安装基础工具:
sudo apt install -y curl wget apt-transport-https gnupg2 software-properties-common - 换国内源(如阿里云或清华源),加速后续包和镜像拉取
- 关闭 swap:
sudo swapoff -a && sudo sed -i '/ swap / s/^/#/' /etc/fstab - 配置内核参数支持桥接网络:
sudo tee /etc/sysctl.d/99-kubernetes-cri.conf写入net.bridge.bridge-nf-call-iptables = 1等三行,再运行sudo sysctl --system
Docker 安装与安全加固必须到位
别用 snap 或旧版仓库安装,走官方流程:
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
- 加 Docker 官方 GPG 密钥和阿里镜像源仓库
- 安装
docker-ce、docker-ce-cli、containerd.io - 配置
/etc/docker/daemon.json:启用registry-mirrors(推荐 ustc 或 aliyun)、设置日志轮转(max-size和max-file)、指定storage-driver为overlay2 - 创建
docker用户组,把运维用户加入,避免长期用sudo - UFW 防火墙只开放必要端口(如 22、80、443、容器映射端口),禁用 Docker 自动修改 iptables 规则引发的冲突
服务编排用 docker-compose 最务实
单机或小集群场景下,docker-compose.yml 比 Kubernetes 更轻、更可控:
- 每个微服务写独立
Dockerfile:Spring Boot 项目优先用多阶段构建,减小镜像体积;前端用 Nginx 静态服务镜像 -
docker-compose.yml中定义完整拓扑:MySQL、Redis、Nacos、Gateway、业务服务等;用depends_on+healthcheck控制启动依赖 - 所有数据目录挂载到宿主机(如
/mnt/mysql/data),配置文件外挂(如/etc/nacos/conf),便于备份与调试 - 资源限制写死:
mem_limit、cpus防止单个服务拖垮整机
部署后必须验证闭环
跑起来只是开始,稳定运行才是目标:
- 用
docker-compose ps查状态,docker-compose logs -f [service]看实时日志 - 检查各服务健康端点(如
/actuator/health)是否返回UP - 测试跨服务调用:从 Gateway 访问下游服务接口,确认注册中心(如 Nacos)已发现实例
- 模拟故障:停掉 Redis,看业务服务是否降级或熔断;重启 MySQL,验证连接池重连逻辑
- 定时清理:
docker system prune -f清无用镜像/卷,配合 logrotate 管理宿主机日志

















