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
|
|||
|
|
```
|
|||
|
|
|