wiz 为知笔记服务器 docker 跨服务器迁移爬坑指北
本文主要是介绍 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

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


# 全部子目录及文件权限改为 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镜像部署介绍
完美迁移

迁移问题排查指北
检查新旧服务器 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
wiz 为知笔记服务器 docker 跨服务器迁移爬坑指北的更多相关文章
- Docker跨服务器通信Overlay解决方案(下) Consul集群
承接上文 本文基于上篇文章,详细的场景说明与分析在前篇随笔中业已记录,有兴趣可以移步 Docker跨服务器通信Overlay解决方案(上) Consul单实例 本文主旨 本文为Docker使用Cons ...
- Docker跨服务器通信Overlay解决方案(上) Consul单实例
场景 公司微服务快上线了,微服务都是用Docker容器进行部署的,在同一台主机下,把服务都部署上,注册到Nacos的IP与PORT都是内网的IP与Dockerfile中定义的端口号,看起来好像也没什么 ...
- 虚拟化学习笔记-KVM虚拟化跨机迁移原理
参考:https://zhuanlan.zhihu.com/p/27055555 在线迁移过程划分为三个阶段:准备阶段.迁移阶段和切换阶段.迁移环境为虚拟化底层KVM+Qemu.虚拟化管理Libvir ...
- sqlserver 添加服务器链接 跨服务器访问数据库
转载地址1:https://www.cnblogs.com/wanshutao/p/4137994.html //创建服务器链接 转载地址2:https://www.cnblogs.com/xulel ...
- docker运行jexus+mono爬坑记
新的.net core都已经支持docker.手头有一些原来开发的asp.net旧项目,用的asp.net mvc开发的,跑在.net formwork 4.6上. 在docker的公共仓库searc ...
- Jersey实现跨服务器上传图片:UniformInterfaceException:403 Forbidden
jersey.api.client.UniformInterfaceException :returned a response status of 403 Forbidden 图片服务器:端口808 ...
- 缓存一致性和跨服务器查询的数据异构解决方案canal
当你的项目数据量上去了之后,通常会遇到两种情况,第一种情况应是最大可能的使用cache来对抗上层的高并发,第二种情况同样也是需要使用分库 分表对抗上层的高并发...逼逼逼起来容易,做起来并不那么乐观, ...
- 解决为知笔记docker镜像部署后登录连接mysql报错
https://www.wiz.cn/zh-cn/docker 部署正常后登录一切正常,但开机重启后登录用户名时报错,是和非正常退出程序导致mysql sock锁,清除该锁文件后恢复正常. 1 C:\ ...
- ASP.NET、JAVA跨服务器远程上传文件(图片)的相关解决方案整合
一.图片提交例: A端--提交图片 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string u ...
- php 跨域、跨子域,跨服务器读取session
1.跨子域和跨服务器解决方式 Session主要分两部分: 一个是Session数据,该数据默认情况下是存放在服务器的tmp文件下的,是以文件形式存在 另一个是标志着Session数据的Se ...
随机推荐
- 嵌入式工业开发板基础测试手册——基于NXP iMX6ULL开发板(1)
前 言 本文档适用开发环境: Windows开发环境:Windows 7 64bit.Windows 10 64bit 虚拟机:VMware15.1.0 Linux开发环境:Ubuntu18.04.4 ...
- 使用Stream流实现以List<Map<String, Object>>集合中Map的key值进行排序
使用Stream流实现以List<Map<String, Object>>集合中Map的key值进行排序 创建一个list存入数据 List<Map<String, ...
- DarkHole_1靶机渗透流程
VulnHub_DarkHole1靶机渗透流程 注意:部署时,靶机的网络连接模式必须和kali一致,让靶机跟kali处于同一网段,这用kali才能扫出靶机的主机 1. 信息收集 1.1 探测IP 使用 ...
- koa web框架入门
1.在hello-koa这个目录下创建一个package.json,这个文件描述了我们的hello-koa工程会用到哪些包.完整的文件内容如下: { "name": "h ...
- @Autowired和@Resource有哪些区别
一.注解的作用 @Autowired和@Resource都是用来实现Bean的自动注入功能. 二.@Autowired和@Resource的区别 1.所属的包不同 @Autowired是Spring的 ...
- oeasy 教您玩转 linux 010207 黑客帝国 matrix
我们来回顾一下 上一部分我们都讲了什么? 蒸汽机车sl 变身小机车-l 变身飞天机车-F 让我们再开一次车 sl 上次还想看看黑客帝国来着?! 黑客帝国Matrix apt search matrix ...
- Pandas库学习笔记(5)---Pandas Panel
Pandas Panel Pandas Panel基本操作 Panel数据3D容器. 术语 Panel data 源自计量经济学,名称来之于pandas − pan(el)-da(ta)-s. 3个轴 ...
- js实现动态表格的添加
<!DOCTYPE html> <html lang="en"> <head> <title>Table_Simple CSS fo ...
- pycham配置GitHub环境【一文了解window上GitHub的基本操作】
基础用户设置[包含用户登录.密钥生成] 网络配置 外观->系统设置->https代理->检查连接 我这里测试网址是GitHub,连接成功即可后续操作[不成功别找我,我也不知道] gi ...
- 【Java】SonarLint 疑难语法修正
规范驼峰命名使用: 提示信息 Local variable and method parameter names should comply with a naming convention 代码片段 ...