返回

Docker Compose 轻松搞定若依前后端分离项目部署

前端

使用 Docker Compose 部署若依前后端分离项目:全方位指南

部署准备

若依前后端分离项目因其强大的功能和灵活的架构而备受青睐。然而,在将其部署到 Linux 服务器时,可能会面临一些挑战。本指南将一步步指导你使用 Docker Compose 编排和部署若依项目,避免常见问题。

第一步:构建镜像

首先,我们需要构建若依前后端项目的 Docker 镜像。这是将项目代码打包到可部署格式的过程。以下是构建镜像的命令:

docker build -t registry.cn-hangzhou.aliyuncs.com/xxxx/ruoyi-front:latest -f Dockerfile.front .
docker build -t registry.cn-hangzhou.aliyuncs.com/xxxx/ruoyi-back:latest -f Dockerfile.back .

第二步:创建 Docker Compose 文件

接下来,创建 Docker Compose 文件,定义服务及其之间的关系。该文件类似于一个蓝图,了如何运行和连接容器。以下是 Docker Compose 文件的模板:

version: "3.7"

services:
  ruoyi-front:
    image: registry.cn-hangzhou.aliyuncs.com/xxxx/ruoyi-front:latest
    ports:
      - "80:80"
    volumes:
      - ./front:/usr/src/app
  ruoyi-back:
    image: registry.cn-hangzhou.aliyuncs.com/xxxx/ruoyi-back:latest
    ports:
      - "8080:8080"
    volumes:
      - ./back:/usr/src/app
    environment:
      - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/ruoyi?useUnicode=true&characterEncoding=utf-8&useSSL=false
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=123456

第三步:启动服务

创建 Docker Compose 文件后,使用以下命令启动服务:

docker-compose up -d

这将创建并启动容器,根据 Docker Compose 文件中定义的配置运行服务。

第四步:访问项目

服务启动后,可以通过以下 URL 访问项目:

  • 前端:http://你的服务器IP:80
  • 后端:http://你的服务器IP:8080

常见踩坑

在部署过程中,可能会遇到以下常见问题:

  • 端口冲突: 确保你使用的端口没有被其他服务占用。
  • 权限问题: 确保你拥有足够的权限来创建和管理 Docker 容器。
  • 数据持久化: 如果需要持久化数据,则需要将数据存储在持久化存储卷中。
  • 忘记挂载项目代码: 确保将项目代码挂载到容器,以便容器可以访问它。
  • 忘记定义端口映射: 在 Docker Compose 文件中,确保定义了端口映射,以便外部可以访问服务。
  • 忘记配置数据库连接: 在后端服务中,配置数据库连接信息至关重要,以便服务可以访问数据库。
  • 忘记启动 MySQL 数据库: 确保 MySQL 数据库已启动并正在运行,否则后端服务无法连接到数据库。

解决方法

要解决这些问题,请检查以下内容:

  • 验证端口是否没有被其他进程占用。
  • 确认你拥有 root 或 sudo 权限。
  • 创建并使用持久化存储卷。
  • 在 Docker Compose 文件中添加卷挂载。
  • 定义端口映射,将容器端口映射到主机端口。
  • 在后端服务的环境变量中配置数据库连接信息。
  • 启动 MySQL 数据库服务。

结论

通过使用 Docker Compose,你可以轻松部署若依前后端分离项目。通过遵循本指南中的步骤,你可以避免常见的踩坑,确保项目平稳运行。如果你遇到任何问题,请在评论区留言,我将尽力提供帮助。

常见问题解答

1. 如何更新项目代码?

要更新项目代码,请停止服务,更新代码,然后重新启动服务:

docker-compose down
git pull
docker-compose up -d

2. 如何扩展服务?

要扩展服务,可以在 Docker Compose 文件中增加容器数量,然后重新启动服务:

services:
  ruoyi-back:
    ...
    scale: 2

3. 如何配置自定义域名?

要配置自定义域名,请编辑 Docker Compose 文件,添加 extra_hosts 项:

extra_hosts:
  - "example.com:127.0.0.1"

4. 如何启用 HTTPS?

要启用 HTTPS,请配置一个 TLS 证书,并将其挂载到容器中。

5. 如何监控服务?

要监控服务,可以使用 Docker Compose 的 toplogs 命令,或使用第三方监控工具,如 Prometheus 或 Grafana。