阿里云服务器上,用Docker Compose一键部署若依微服务Plus(Ruoyi-Cloud-Plus)的保姆级教程

张开发
2026/4/22 9:00:04 15 分钟阅读

分享文章

阿里云服务器上,用Docker Compose一键部署若依微服务Plus(Ruoyi-Cloud-Plus)的保姆级教程
阿里云服务器上Docker Compose一键部署若依微服务Plus实战指南引言为什么选择Docker Compose部署微服务在云原生时代微服务架构已经成为企业级应用开发的主流选择。若依微服务PlusRuoyi-Cloud-Plus作为国内流行的开源微服务框架集成了Spring Cloud Alibaba生态提供了完整的权限管理、工作流引擎等企业级功能。然而对于许多开发者来说微服务部署的复杂性往往成为第一道门槛。传统部署方式需要逐个配置数据库、中间件、注册中心等组件不仅耗时耗力还容易因环境差异导致各种玄学问题。这正是Docker Compose的价值所在——它允许我们通过一个简单的YAML文件定义所有服务及其依赖关系实现真正的一键部署。本文将带你从零开始在阿里云服务器上完成若依微服务Plus的完整部署避开那些新手常踩的坑。1. 环境准备阿里云服务器与Docker基础配置1.1 阿里云服务器选购与初始化对于若依微服务Plus这样的中型微服务系统建议选择以下配置的阿里云ECS实例组件推荐配置最低要求CPU4核2核内存8GB4GB系统盘100GB40GB操作系统Alibaba Cloud Linux 3CentOS 7关键步骤登录阿里云控制台创建ECS实例选择Alibaba Cloud Linux 3镜像配置安全组规则开放以下端口80/443Web访问8848Nacos3306MySQL6379Redis其他微服务端口根据实际需求# 更新系统软件包 sudo dnf update -y # 安装常用工具 sudo dnf install -y git wget curl vim1.2 Docker引擎安装与优化Alibaba Cloud Linux 3提供了对Docker的良好支持以下是安装步骤# 添加Docker官方源 sudo dnf config-manager --add-repohttps://download.docker.com/linux/centos/docker-ce.repo # 安装Docker引擎 sudo dnf install -y docker-ce docker-ce-cli containerd.io # 配置镜像加速使用阿里云镜像加速器 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json -EOF { registry-mirrors: [https://your-aliyun-id.mirror.aliyuncs.com] } EOF # 启动并设置开机自启 sudo systemctl enable --now docker # 验证安装 sudo docker run hello-world提示获取阿里云容器镜像服务加速器地址请登录阿里云容器镜像服务控制台查看专属加速器地址。2. 若依微服务Plus项目准备2.1 获取项目代码若依微服务Plus的官方仓库提供了完整的Docker支持我们直接克隆最新版本# 克隆项目国内用户推荐使用Gitee镜像 git clone https://gitee.com/y_project/RuoYi-Cloud-Plus.git # 进入项目目录 cd RuoYi-Cloud-Plus2.2 项目结构解析了解项目结构有助于后续的部署和问题排查RuoYi-Cloud-Plus/ ├── docker/ # Docker相关配置 │ ├── mysql/ # MySQL初始化脚本 │ ├── nacos/ # Nacos配置 │ ├── redis/ # Redis配置 │ └── ... # 其他服务配置 ├── ruoyi-auth/ # 认证服务 ├── ruoyi-gateway/ # API网关 ├── ruoyi-modules/ # 业务模块 └── docker-compose.yml # 主部署文件2.3 配置文件调整在部署前有几个关键配置需要检查数据库连接配置检查各服务的application.yml中数据库连接信息Redis配置确保所有服务使用相同的Redis地址Nacos地址所有微服务应指向同一个Nacos服务# 示例ruoyi-auth的application.yml片段 spring: datasource: url: jdbc:mysql://mysql:3306/ry-cloud?useSSLfalse username: root password: 123456 redis: host: redis port: 6379 password:3. Docker Compose部署实战3.1 理解docker-compose.yml若依微服务Plus的docker-compose.yml定义了完整的服务拓扑version: 3.8 services: mysql: image: mysql:8.0.29 container_name: mysql ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD123456 volumes: - ./docker/mysql/db:/var/lib/mysql - ./docker/mysql/init:/docker-entrypoint-initdb.d - ./docker/mysql/conf/my.cnf:/etc/mysql/my.cnf networks: - ruoyi-network # 其他服务定义...3.2 一键启动所有服务使用Docker Compose可以轻松启动所有依赖服务# 构建并启动基础服务MySQL、Redis、Nacos等 docker compose up -d mysql redis nacos minio # 等待基础服务就绪后启动微服务 docker compose up -d ruoyi-gateway ruoyi-auth ruoyi-system注意服务启动有依赖顺序建议先启动基础设施再启动微服务。3.3 常见问题解决端口冲突问题 若遇到端口冲突可以修改docker-compose.yml中的端口映射services: nacos: ports: - 8848:8848 # 修改前 - 8850:8848 # 修改后服务启动顺序控制 Docker Compose本身不保证启动顺序可以通过以下方式解决# 使用depends_on结合健康检查 services: ruoyi-gateway: depends_on: nacos: condition: service_healthy4. 部署后配置与优化4.1 验证服务状态检查各容器运行状态docker compose ps # 查看特定服务日志 docker compose logs -f ruoyi-gateway4.2 Nacos配置管理访问http://your-server-ip:8848/nacos默认账号nacos/nacos确认所有服务已注册在服务管理中查看已注册服务检查各服务的健康状态根据需要调整配置4.3 性能优化建议对于生产环境建议进行以下优化资源限制为每个容器设置CPU和内存限制services: ruoyi-gateway: deploy: resources: limits: cpus: 1 memory: 1G日志管理配置日志轮转和外部存储services: ruoyi-gateway: logging: driver: json-file options: max-size: 100m max-file: 3监控集成启用Prometheus监控spring: application: name: ruoyi-gateway metrics: export: prometheus: enabled: true5. 进阶CI/CD集成与自动伸缩5.1 结合GitHub Actions实现自动部署创建.github/workflows/deploy.ymlname: Deploy Ruoyi Cloud Plus on: push: branches: [ master ] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkoutv2 - name: Copy files to server uses: appleboy/scp-actionmaster with: host: ${{ secrets.ALIYUN_HOST }} username: ${{ secrets.ALIYUN_USER }} key: ${{ secrets.ALIYUN_SSH_KEY }} source: . target: /home/ruoyi-cloud-plus - name: Restart services uses: appleboy/ssh-actionmaster with: host: ${{ secrets.ALIYUN_HOST }} username: ${{ secrets.ALIYUN_USER }} key: ${{ secrets.ALIYUN_SSH_KEY }} script: | cd /home/ruoyi-cloud-plus docker compose down docker compose up -d --build5.2 使用阿里云容器服务扩展对于更高要求的场景可以考虑迁移到阿里云容器服务将docker-compose.yml转换为Kubernetes部署文件kompose convert创建阿里云容器服务Kubernetes集群使用kubectl部署应用kubectl apply -f ruoyi-gateway-deployment.yaml kubectl apply -f ruoyi-gateway-service.yaml6. 日常维护与故障排查6.1 常用维护命令# 查看容器资源使用情况 docker stats # 进入容器内部 docker exec -it ruoyi-gateway /bin/sh # 备份MySQL数据 docker exec mysql sh -c exec mysqldump --all-databases -uroot -p$MYSQL_ROOT_PASSWORD backup.sql # 更新服务修改代码后 docker compose build ruoyi-gateway docker compose up -d --no-deps ruoyi-gateway6.2 常见问题排查指南问题1服务无法注册到Nacos检查步骤确认Nacos容器正常运行检查微服务的application.yml中Nacos地址查看微服务日志是否有连接错误问题2数据库连接失败解决方案确认MySQL容器已启动检查连接字符串中的容器名称应为mysql而非localhost验证用户名密码是否正确问题3内存不足导致容器退出处理方法使用docker stats查看内存使用为容器设置内存限制调整JVM参数对于Java服务services: ruoyi-gateway: environment: - JAVA_OPTS-Xms512m -Xmx512m

更多文章