Files
auto-solution/DEPLOY_OFFLINE.md

2.3 KiB
Raw Blame History

Docker 离线部署说明(方式 A

执行 docker compose up -d 即可启动。

1. 交付清单

请将以下内容放在同一目录(示例:app/

  • docker-compose.yml
  • .env(或将 .env.example 复制为 .env 后修改)
  • bundle-images.tar(包含 auto-solution-adminmysql:8.0redis:7-alpine
  • docker/mysql/init/01-ruoyi-table.sql
  • docker/mysql/init/02-ruoyi-extra.sql
  • docker/mysql/init/03-data.sql

目录示例:

app/
├─ docker-compose.yml
├─ .env
├─ bundle-images.tar
└─ docker/
   └─ mysql/
      └─ init/
         ├─ 00-create-db.sql
         ├─ 03-data.sql

2. 首次部署

app 目录执行:

docker load -i bundle-images.tar
docker compose down -v
docker compose up -d

说明:

  • down -v 会删除旧数据卷,确保 MySQL 首次初始化时执行 docker/mysql/init 下的 SQL。
  • SQL 执行顺序按文件名字典序,务必保持 01 -> 02 -> 03

3. 启动验证

docker ps
docker inspect autosolution-mysql --format '{{.State.Health.Status}}'
docker logs --tail 100 autosolution-mysql
docker logs --tail 100 autosolution-app

期望结果:

  • autosolution-mysql 状态为 healthy
  • autosolution-app 状态为 Up

4. 访问地址

  • 后端默认端口:1777
  • 访问地址:http://<服务器IP>:1777

5. 常见问题

5.1 Table 'autosolution_db.sys_config' doesn't exist

原因:初始化 SQL 未执行或执行失败。

处理:

  1. 确认 docker/mysql/init 下 SQL 文件存在且顺序正确
  2. 执行:
docker compose down -v
docker compose up -d
  1. 查看 MySQL 日志定位 SQL 报错:
docker logs --tail 300 autosolution-mysql

5.2 dependency failed to start: container autosolution-mysql is unhealthy

原因MySQL 未通过健康检查(通常是 SQL 未执行完成或报错)。

处理:

docker logs --tail 300 autosolution-mysql

根据日志修复 SQL 后重新 down -v 再启动。

6. 版本升级

替换新的 bundle-images.tar(及必要 SQL后执行

docker load -i bundle-images.tar
docker compose down
docker compose up -d

如果本次升级包含库初始化变更并要求重建,请改用:

docker compose down -v
docker compose up -d