Files
auto-solution/DEPLOY_OFFLINE.md

115 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Docker 离线部署说明(方式 A
执行 `docker compose up -d` 即可启动。
## 1. 交付清单
请将以下内容放在同一目录(示例:`app/`
- `docker-compose.yml`
- `.env`(或将 `.env.example` 复制为 `.env` 后修改)
- `bundle-images.tar`(包含 `auto-solution-admin``mysql:8.0``redis:7-alpine`
- `docker/mysql/init/01-ruoyi-table.sql`
- `docker/mysql/init/02-ruoyi-extra.sql`
- `docker/mysql/init/03-data.sql`
目录示例:
```text
app/
├─ docker-compose.yml
├─ .env
├─ bundle-images.tar
└─ docker/
└─ mysql/
└─ init/
├─ 00-create-db.sql
├─ 03-data.sql
```
## 2. 首次部署
`app` 目录执行:
```bash
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. 启动验证
```bash
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. 执行:
```bash
docker compose down -v
docker compose up -d
```
3. 查看 MySQL 日志定位 SQL 报错:
```bash
docker logs --tail 300 autosolution-mysql
```
### 5.2 `dependency failed to start: container autosolution-mysql is unhealthy`
原因MySQL 未通过健康检查(通常是 SQL 未执行完成或报错)。
处理:
```bash
docker logs --tail 300 autosolution-mysql
```
根据日志修复 SQL 后重新 `down -v` 再启动。
## 6. 版本升级
替换新的 `bundle-images.tar`(及必要 SQL后执行
```bash
docker load -i bundle-images.tar
docker compose down
docker compose up -d
```
如果本次升级包含库初始化变更并要求重建,请改用:
```bash
docker compose down -v
docker compose up -d
```