wiz为知笔记docker部署与数据迁移

为知笔记官方支持了docker私有部署,虽说有限制(限制5人),但是一般个人使用足够了。给为知笔记点赞。

我是部署到云服务器上的。

云服务器是有时间限制的,续期又太贵,我一般都是换个小号,继续白嫖新手价。

so,我不想在私有部署的wiz上记了很多笔记,但是服务器到期之后,数据全丢。

能不能有方法备份数据,随时可以迁移到另外服务器上?

答案是可以的。其实在官方文档里已经说明了。如下:

如何更新?

1、停止wiz容器

2、删除这个容器

3、获取最新的image

4、重新安装容器

因为我们把数据挂载到了本机,所以只要在第4步重新安装容器的时候,继续使用上个容器的挂载数据就行。

其实就是通过docker挂载的方式实现数据和容器隔离,来保证数据不会收到容器的影响。

wiz为知笔记docker部署与数据迁移_第1张图片

不过不太放心,就做个实验吧。

实验步骤:

1、用容器A的命令创建容器(数据在宿主机的/data/wizdata,端口是8091)

docker run --name wiz --restart=always -it -d -v  /data/wizdata:/wiz/storage -v  /etc/localtime:/etc/localtime -p 8091:80 -p 9269:9269/udp  wiznote/wizserver

2、打开服务地址:http://IP地址:8091

注册用户A,并写一篇笔记

3、用容器B的命令创建容器(数据在宿主机的/mnt/wizdata,端口是8098)

docker run --name wiz1 --restart=always -it -d -v  /mnt/wizdata:/wiz/storage -v  /etc/localtime:/etc/localtime -p 8098:80 -p 9268:9269/udp  wiznote/wizserver

4、 打开服务地址:http://IP地址:8098

使用8091地址的注册用户A登录8098,提示登录失败。(说明8098的数据是自己的,跟8091不通)

5、停止容器B、删除容器B

docker stop 容器B的id # 可以通过docker ps查看容器id
docker rm 容器B的ID #可以通过docker ps来看

6、把容器A的/data/wizdata下面的所有内容,拷贝到容器B的/mnt/wizdata下面

7、重新执行容器B的创建命令,创建容器B

docker run --name wiz1 --restart=always -it -d -v  /mnt/wizdata:/wiz/storage -v  /etc/localtime:/etc/localtime -p 8098:80 -p 9268:9269/udp  wiznote/wizserver

8、再次执行第4步的操作:

打开服务地址:http://IP地址:8098

使用8091地址的注册用户A登录8098

此时提示登录成功;并且可以看到刚才创建的那条笔记。说明可以数据可以迁移。

实验成功,结束。说明我们可以备份挂载的数据,换另一台服务器之后,还挂载这些数据,就可以实现数据迁移了。

参考资料:

wiz官方文档:

为知笔记 | 为知笔记服务端docker镜像使用说明 (wiz.cn)

你可能感兴趣的:(docker,docker)