2.9 KiB
2.9 KiB
Docker 部署指南
前置要求
- NAS 上已安装 Docker 和 Docker Compose
- MongoDB 数据库已运行并可访问
- NAS 能访问 MongoDB 所在网络
部署步骤
方式一:在NAS上直接构建(推荐)
-
上传项目到NAS
将整个
server文件夹上传到NAS,例如:/volume1/docker/novel-reader/ -
修改配置
编辑
docker-compose.yml,修改 MongoDB 连接地址:environment: - SPRING_DATA_MONGODB_URI=mongodb://你的MongoDB地址:端口/数据库名 -
构建并启动
SSH 连接到 NAS,执行:
cd /volume1/docker/novel-reader docker-compose up -d --build -
查看日志
docker-compose logs -f
方式二:本地构建镜像后上传
-
本地构建镜像
cd server docker build -t novel-reader:latest . -
导出镜像
docker save novel-reader:latest > novel-reader.tar -
上传到NAS并导入
# 在NAS上执行 docker load < novel-reader.tar -
修改 docker-compose.yml
注释掉
build: .,启用image::services: novel-reader: # build: . image: novel-reader:latest -
启动服务
docker-compose up -d
常用命令
# 启动服务
docker-compose up -d
# 停止服务
docker-compose down
# 查看日志
docker-compose logs -f
# 重启服务
docker-compose restart
# 重新构建并启动
docker-compose up -d --build
# 查看容器状态
docker-compose ps
访问应用
启动成功后,访问:http://NAS的IP地址:8080
在 iPhone 上:
- 用 Safari 打开上述地址
- 点击分享按钮 → "添加到主屏幕"
- 即可像原生App一样使用
配置说明
环境变量
| 变量名 | 说明 | 默认值 |
|---|---|---|
| SPRING_DATA_MONGODB_URI | MongoDB连接地址 | mongodb://192.168.18.100:38403/novel |
| JAVA_OPTS | JVM参数 | -Xms128m -Xmx256m |
| TZ | 时区 | Asia/Shanghai |
内存调优
根据 NAS 内存大小调整 JAVA_OPTS:
- 1GB 可用内存:
-Xms128m -Xmx256m - 2GB 可用内存:
-Xms256m -Xmx512m - 4GB+ 可用内存:
-Xms512m -Xmx1024m
端口修改
如需修改端口,编辑 docker-compose.yml:
ports:
- "你想要的端口:8080"
故障排除
1. 容器启动失败
# 查看详细日志
docker-compose logs novel-reader
2. 无法连接 MongoDB
- 检查 MongoDB 地址是否正确
- 检查 NAS 与 MongoDB 网络是否互通
- 如果 MongoDB 也在 Docker 中,考虑使用 Docker 网络
3. 内存不足
减小 JVM 内存配置,或增加 NAS 可用内存
4. 健康检查失败
# 禁用健康检查(临时)
# 在 docker-compose.yml 中注释掉 healthcheck 部分
更新应用
# 拉取最新代码后
docker-compose down
docker-compose up -d --build