2.3 KiB
2.3 KiB
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.sqldocker/mysql/init/02-ruoyi-extra.sqldocker/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状态为healthyautosolution-app状态为Up
4. 访问地址
- 后端默认端口:
1777 - 访问地址:
http://<服务器IP>:1777
5. 常见问题
5.1 Table 'autosolution_db.sys_config' doesn't exist
原因:初始化 SQL 未执行或执行失败。
处理:
- 确认
docker/mysql/init下 SQL 文件存在且顺序正确 - 执行:
docker compose down -v
docker compose up -d
- 查看 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