场景描述
之前在本地服务器上用Docker部署了JIRA以及Confluence,现在需要将服务转移到另外一台服务器上,目前另外一台服务器是干净的什么都没有。下文中A代表原来有服务的本地服务器;B代表新的服务器。相较于JIRA的迁移Confluence会简单许多。
A服务器操作
登录Confluence点击右上角设置–一般配置–备份与还原,点击导出即可,需不需要附件根据自己的需求来,导出需要时间,东西越多导出越慢,耐心等待
复制导出路径
# 创建备份文件夹,所有Confluence备份都放在这里
mkdir -p /home/bak_confluence
cd /home/bak_confluence
# 将刚刚导出的备份文件从容器内拷贝到宿主机
docker cp confluence:/var/atlassian/confluence/temp/xmlexport-20221230-102853-9.zip /home/bak_confluence
# 将备份文件传到B服务器,这里传输方式有很多,可以使用sz或scp命令
scp /home/bak_confluence/xmlexport-20221230-102853-9.zip root@192.168.1.3:/home
B服务器操作
首先需要创建Confluence以及MySQL,如果看过上篇Docker迁移JIRA博客的话服务器上应该已经有MySQL容器了,只需要创建Confluence数据库以及用户并授权即可,具体的Confluence容器创建以及MySQL容器创建请参考Docker部署JIRA&Confluence这里不再阐述。
# 这里默认读者已经创建好了Confluence以及MySQL
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f210290c0f54 atlassian-confluence:7.9.3 "/docker-entrypoint.…" 16 minutes ago Up 16 minutes 8091/tcp, 0.0.0.0:18010->8090/tcp, :::18010->8090/tcp confluence
3c711f38c341 mysql:5.7.24 "docker-entrypoint.s…" 3 days ago Up 59 minutes 33060/tcp, 0.0.0.0:33060->3306/tcp, :::33060->3306/tcp mysql.5.7
访问Confluence服务,我这里映射的是18010端口即访问http://192.168.1.3:18010,正常设置即可,授权码问题可以参考Docker部署JIRA&Confluence
备份文件如果超过25MB可以选择使用直接上传的方式还原,如果超过了25M需要使用第二种方式还原
cd /home
# 查看文件大小
ls -lh
#如果大于了25M使用下面的命令将备份文件拷贝到容器内,这里的路径仅供参考,路径在页面中有显示
docker cp xmlexport-20221230-102853-9.zip confluence:/var/atlassian/confluence/restore
如果使用第二种还原方式刷新一下页面就可以看到备份文件了,点击导入即可,等待导入完成之后访问页面即可。这里跟JIRA相同,可能会丢失应用,所以需要记下原来服务中的应用,这里由于是新的授权码,所有的应用需要重新激活安装,请参考上文中的博客。至此Confluence的迁移工作就完成了