本文主要是介绍 wiz 为知笔记服务器 docker 从旧服务器迁移到新服务器的步骤以及问题排查。

旧服务器升级 wiz docker

目的:保持和新服务器拉取的镜像版本一致。

官方只留了 wiz docker 镜像最新版,拉取不了旧版本镜像,所以先升级旧服务器上的 wiz docker。

升级方法

docker stop wiz
docker rm wiz
docker pull wiznote/wizserver:latest
docker run --name wiz -it -d -v /home/ubuntu/wizdata:/wiz/storage -v /etc/localtime:/etc/localtime -p 9000:80 -p 9269:9269/udp wiznote/wizserver

注:第 4 行的挂载目录、绑定的端口请根据你自己的部署参数修改

迁移旧服务器挂载的 wiz 数据目录

我的目录是
/home/ubuntu/wizdata
,将
wizdata
目录想方法传到 新服务器,我是先用 7z 压缩目录然后通过 ftp 传到新服务器后再解压。

7z 相关命令

# Ubuntu/Debian 安装命令
sudo apt-get install p7zip-full
# 压缩整个目录
7z a wizdata.7z wizdata/*
# 测试压缩文件的完整性
7z t wizdata.7z
# 解压到指定目录
7z x wizdata.7z -o./wizdata

注:传到新服务器后一定要先测试压缩文件完整性,不然挂载后会出错

如果测试没有错误,会显示
Everything is Ok

image

目录权限设置

解压
wizdata
后,最好将目录权限设置成和旧服务器一致。

image

image

# 全部子目录及文件权限改为 777
chmod 777 * -R 

新服务器部署 wiz docker

# 部署为知笔记服务器 Docker 镜像
docker run --name wiz -it -d -v /home/zoyo/wizdata:/wiz/storage -v /etc/localtime:/etc/localtime -p 3180:80 -p 39269:9269/udp wiznote/wizserver

注:挂载目录、绑定的端口请根据你自己的部署参数修改

官方指南:
为知笔记服务器Docker镜像部署介绍

完美迁移

image

迁移问题排查指北

  • 检查新旧服务器 wiz docker 镜像版本是否一致

  • 检查迁移的 wizdata 目录是否数据损坏

  • 检查新旧服务器挂载的 wizdata 目录权限是否一致

  • 检查挂载的 wizdata 目录路径是否正确

    我这里就犯过低级错误,解压后 wizdata 目录路径为
    /home/zoyo/wizdata/wizdata
    ,而挂载的目录路径为
    /home/zoyo/wizdata

  • 查看容器日志排查问题
    docker logs -f 7e455ab9c988

  • 进入容器查看 mysql 日志排查问题

    # 查看 wiz docker 镜像 ID
    sudo docker ps
    # 进入 wiz docker 终端
    sudo docker exec -it 3bceba9f92df bash
    # 查看 mysql 错误日志
    cat /var/lib/mysql/mysql_error.log
    

标签: none

添加新评论