Docker 部署 mrdoc 以及备份搬家该服务
前言:
我们在一台服务器A用docker安装了mrdoc服务,所有数据都在此台服务器,那么如果有一天因为某种原因需要更换mrdoc服务到服务器B那么如何操作呢
今天就给大家演示一下整个过程。
假如有两台服务器:A服务器(旧)系统为centos7,公网ip为192.168.123.111
B服务器(新)系统为centos7,公网ip为192.168.123.222
mrdoc作者网站:https://zmister.com/
mrdoc官方文档:http://mrdoc.zmister.com/project-7/
centos7系统安装docker与docker-compose教程点我直达
一、在服务器A安装docker版mrdoc,默认A服务器已经安装docker
mrdoc-alpine
docker run -d --name mrdoc -p 10086:10086 jonnyan404/mrdoc-alpine ## nginx版本,更换mrdoc-alpine为mrdoc-nginx即可
默认端口:10086
默认用户:admin
默认密码:请执行 docker logs mrdoc 2>&1|grep pwd 获取[自0.6.3版本开始生效]
如果获取的默认密码无法登录,请参考 https://www.mrdoc.fun/project-1/doc-242/ 这里解决!!!
打开 http://IP:10086
即可访问。
二、docker版本手动备份
2.1数据备份
在服务器A执行以下代码进行备份
docker cp mrdoc:/app/MrDoc/config /tmp/config #备份配置文件
docker cp mrdoc:/app/MrDoc/media /tmp/media #备份媒体文件
三、在服务器B安装docker版mrdoc默认B服务器已经安装docker
mrdoc-alpine
docker run -d --name mrdoc -p 10086:10086 jonnyan404/mrdoc-alpine ## nginx版本,更换mrdoc-alpine为mrdoc-nginx即可
默认端口:10086
默认用户:admin
默认密码:请执行 docker logs mrdoc 2>&1|grep pwd 获取[自0.6.3版本开始生效]
如果获取的默认密码无法登录,请参考 https://www.mrdoc.fun/project-1/doc-242/ 这里解决!!!
打开 http://IP:10086
即可访问。
四、将服务器A的备份数据传到服务器B覆盖,重启服务器B的mrdoc服务即可
在服务器A执行以下代码
拷贝数据A到B
scp -r /tmp/config/* 192.168.123.222:/tmp/config #需要输入密码 scp -r /tmp/media/* 192.168.123.222:/tmp/media #需要输入密码
在服务器B执行以下代码
拷贝数据到容器
docker cp /tmp/config mrdoc:/app/MrDoc #拷贝数据 docker cp /tmp/media mrdoc:/app/MrDoc #拷贝数据
五、重启服务器B的docker版mrdoc服务
docker restart mrdoc #重启容器
六、升级程序教程
升级版本
在此以alpine
版本进行示例,如果使用Nginx
版本,请将mrdoc-alpine
替换为mrdoc-nginx
docker pull jonnyan404/mrdoc-alpine docker stop mrdoc && docker rm mrdoc #然后重新运行之前的 docker run 命令
此时我们打开服务器B的mrdoc服务,即可看到数据与A服务器一样了。
附:我写了一个脚本来备份网站
#/bin/bash docker cp mrdoc:/app/MrDoc/config /tmp/config/ docker cp mrdoc:/app/MrDoc/media /tmp/media/ abc=$(date "+%Y%m%d%H%M%S") tar -zcf /tmp/mrdoc$abc.tar.gz /tmp/config/ /tmp/media/ rm -rf /tmp/config/* rm -rf /tmp/media/* scp -r /tmp/*.tar.gz subweb:/tmp/mrdocdata rm -rf /tmp/*.tar.gz