20251222 群晖系统上安装Vanblog与Mongo
20251222 群晖系统上安装Vanblog与Mongo
步骤 1:从阿里云转移到群晖
-
从阿里云系统中转移出mongo数据库的全部数据,保存至群晖的/volume2/docker/vanblog/data目录中
-
阿里云/usr/local/vanblog/data,tar打包转移
-
从阿里云系统中,转移出mongo和vanblog的docker镜像
``` # 阿里云中直接导出 docker save mereith/van-blog:latest > van-blog.tar docker save mongo:4.4.16 > mongo.tar
# 文件超出500M的,拆分 split -b 500M van-blog.tar van-blog
# 然后导出到群晖系统中,合并 cat van-blog* > van-blog.tar
# 在群晖系统中导入镜像 docker load < /path/to/target/directory/van-blog.tar docker load < /path/to/target/directory/mongo.tar
# 验证镜像是否导入成功 docker images ```
步骤 2:编写 docker-compose.yml
在群晖 /volume2/docker/vanblog/ 目录下新建 docker-compose.yml 文件(可通过群晖「文本编辑器」或 SSH 新建),内容如下:
version: '3'
services:
# MongoDB 服务(和阿里云版本保持一致 4.4.16)
mongo:
image: mongo:4.4.16
container_name: vanblog_mongo
restart: always
volumes:
# 挂载解压后的 mongo 数据目录到容器 /data/db(核心!)
- ./data/mongo:/data/db
# - ./data/mongo/configdb:/data/configdb
ports:
- "27017:27017"
# environment:
# 若阿里云的 mongo 有密码,补充这里(无密码则注释)
# MONGO_INITDB_ROOT_USERNAME: 你的用户名
# MONGO_INITDB_ROOT_PASSWORD: ***
networks:
- vanblog-network
# vanblog 服务
vanblog:
image: mereith/van-blog:latest
container_name: vanblog
restart: always
volumes:
# 挂载静态文件目录(图片/主题等)
- ./data/static:/app/static
ports:
# 映射端口
- "8081:80"
- "8043:443"
environment:
# 关键:连接群晖的 mongo 容器(容器名 vanblog_mongo)
MONGO_URL: mongodb://mongo:27017/vanblog
# 其他环境变量和阿里云保持一致(若有自定义,补充)
depends_on:
- mongo
networks:
- vanblog-network
networks:
vanblog-network:
driver: bridge
步骤 3:启动容器
群晖 SSH 终端执行:
# 进入 docker-compose.yml 所在目录
cd /volume2/docker/vanblog
# 启动容器(后台运行)
docker-compose up -d
步骤 4:验证迁移结果
-
查看容器状态:
docker-compose ps,确保vanblog和vanblog_mongo都是Up状态; -
访问 vanblog:浏览器打开
http://群晖IP:8081或https://群晖IP:8043,验证文章、图片、配置是否和阿里云一致; -
若启动失败,查看日志:
```bash # 查看 mongo 日志 docker logs vanblog_mongo
# 查看 vanblog 日志 docker logs vanblog ```
- 最终8081正常访问,8043访问无效,应该是https服务有误