115 lines
2.3 KiB
Markdown
115 lines
2.3 KiB
Markdown
# 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
|
||
```
|
||
|