本文旨在介绍如何将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行的挂载目录、绑定的端口请根据你自己的部署参数修改
目录是"/home/ubuntu/wizdata",将"wizdata"目录传送至新服务器。我首先使用7z压缩目录,然后通过FTP传输到新服务器后再进行解压。
7z相关命令
sudo apt-get install p7zip-full
7z a wizdata.7z wizdata/*
7z t wizdata.7z
7z x wizdata.7z -o./wizdata
注:传送到新服务器后务必先测试压缩文件的完整性,否则挂载后可能会出错。
如果测试无错误,将显示"Everything is Ok"。
目录权限设置
解压"wizdata"后,最好将目录权限设置为与旧服务器一致。
chmod 777 * -R
新服务器部署wiz 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镜像部署介绍
完美迁移
迁移问题排查指南
-
检查新旧服务器wiz docker镜像版本是否一致
-
检查迁移的wizdata目录是否存在数据损坏
-
检查新旧服务器挂载的wizdata目录权限是否一致
-
检查挂载的wizdata目录路径是否正确
我曾犯过低级错误,解压后wizdata目录路径为"/home/zoyo/wizdata/wizdata",而挂载的目录路径为"/home/zoyo/wizdata"
-
查看容器日志排查问题
docker logs -f 7e455ab9c988
-
进入容器查看mysql日志排查问题
sudo docker ps
sudo docker exec -it 3bceba9f92df bash
cat /var/lib/mysql/mysql_error.log