novel-reader/DEPLOY.md
2025-12-06 18:19:46 +08:00

2.9 KiB
Raw Permalink Blame History

Docker 部署指南

前置要求

  • NAS 上已安装 Docker 和 Docker Compose
  • MongoDB 数据库已运行并可访问
  • NAS 能访问 MongoDB 所在网络

部署步骤

方式一在NAS上直接构建推荐

  1. 上传项目到NAS

    将整个 server 文件夹上传到NAS例如/volume1/docker/novel-reader/

  2. 修改配置

    编辑 docker-compose.yml,修改 MongoDB 连接地址:

    environment:
      - SPRING_DATA_MONGODB_URI=mongodb://你的MongoDB地址:端口/数据库名
    
  3. 构建并启动

    SSH 连接到 NAS执行

    cd /volume1/docker/novel-reader
    docker-compose up -d --build
    
  4. 查看日志

    docker-compose logs -f
    

方式二:本地构建镜像后上传

  1. 本地构建镜像

    cd server
    docker build -t novel-reader:latest .
    
  2. 导出镜像

    docker save novel-reader:latest > novel-reader.tar
    
  3. 上传到NAS并导入

    # 在NAS上执行
    docker load < novel-reader.tar
    
  4. 修改 docker-compose.yml

    注释掉 build: .,启用 image:

    services:
      novel-reader:
        # build: .
        image: novel-reader:latest
    
  5. 启动服务

    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 上:

  1. 用 Safari 打开上述地址
  2. 点击分享按钮 → "添加到主屏幕"
  3. 即可像原生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