Docker迁移Jira

  • 场景描述
  • A服务器操作
  • B服务器操作

场景描述

​ 之前在本地服务器上用Docker部署了JIRA以及Confluence,现在需要将服务转移到另外一台服务器上,目前另外一台服务器是干净的什么都没有。下文中A代表原来有服务的本地服务器;B代表新的服务器。

A服务器操作

登录JIRA点击右上角设置–系统–备份系统,输入备份文件名称之后点击备份,之后会在页面中的目录内生成备份文件名.zip压缩文件,这里我输入的是jira.bak

mkdir /home/bak_jira/
cd /home/bak_jira/
# 将备份文件拷贝到宿主机内,这里的路径仅供参考,实际路径请拷贝自己页面中的备份文件输出路径
# 拷贝命令 docker cp <容器名>:<文件完整路径> <宿主机路径>
docker cp jira:/var/atlassian/jira/export/jira.bak.zip /home/bak_jira# 将头像喝附件也拷贝出来,备份文件是不含附件和用户头像的,需要单独拷贝
# attachments是附件文件夹,avatars是用户头像文件夹
docker cp jira:/var/atlassian/jira/data/ /home/bak_jira
# 拷贝出来之后对其进行打包
cd /home/bak_jira/
tar -zcvf attachments.tar.gz attachments/
tar -zcvf avatars.tar.gz avatars/# 打包命令 docker commit <容器名> <新镜像名>
docker commit jira bak_jira# 查看新的镜像是否创建成功
docker images# 将新的镜像打包成tar压缩包
# 压缩命令 docker save -o <压缩包名称> <镜像名称>
docker save -o bak_jira.tar bak_jira#将所有的压缩包传到B服务器,这里的方法比较多,可以使用sz命令或scp命令
scp /home/bak_jira/bak_jira.tar root@192.168.1.3:/home/
scp /home/bak_jira/jira.bak.zip root@192.168.1.3:/home/
scp /home/bak_jira/attachments.tar.gz root@192.168.1.3:/home
scp /home/bak_jira/avatars.tar.gz root@192.168.1.3:/home

B服务器操作

这里默认B已经安装了Docker,安装步骤可以参考这里

# cd到压缩文件目录,我这里是/home
cd /home# 加载镜像命令 docker load -i <压缩包名称>
docker load -i bak_jira.tar# 查看镜像是否加载成功
docker images# 此时镜像已经拉进来了,但是启动还需要数据库,这里要尽量保持与原数据库一致,比如jira连接的用户如果是非root用户的话需要在新的数据库中也创建一样的数据库用户并赋予权限。这里请参考上面的链接里面有详细安装步骤# 接下来启动镜像
docker run -d --name jira  --restart always -p 18009:8080   -e TZ="Asia/Shanghai"   -m 4096M   -v /home/data/jira:/var/atlassian/jira bak_jira
# 参数接释:
# -d 后台运行
# --name 容器名称
# --restart 自启动
# -p 宿主机映射容器内端口,18009是宿主机端口,8080是容器内的服务端口
# -e 时区
# -m 给JIRA分配的最大内存,根据自己的机器配置来,一般2G就够
# -v 将容器内的/var/atlassian/jira文件夹挂载到宿主机的/home/data/jira 方便修改配置文件以及查看日志# 由于我这里挂载了文件夹,所以直接把压缩包mv到宿主机的/home/data/jira/import即可
mv jira.bak.zip /home/data/jira/import
# 没有挂载也可以使用拷贝命令将备份文件打到容器内的import文件夹,这里的import文件夹路径仅供参考
docker cp jira.bak.zip jira:/var/atlassian/jira/import# 不知道import文件夹的位置可以使用下面的方法,进入容器内部找
docker exec -it jira bash

镜像启动之后访问服务我这里是http://localhost:18009按照流程进行设置


这里选择导入

输入备份文件全称之后点击导入,等待导入完成

导入完成之后再次访问http://localhost:18009

如果这里不能登录报错了是因为server.xml配置错误,没有报错请跳过这一节

# 进入到jira容器中查看server.xml
docker exec -it jira bash
cd /opt/atlassian/jira/conf/
cat server.xml
# 复制打印的内容,exit到宿主机中使用vim命令创建server.xml文件并粘贴刚刚复制的内容,进行修改

这里的设置还是服务器A的,由于域名和ip都变了,需要修改成新的,这里先使用默认的http配置,后面根据需要再改

<Server port="8005" shutdown="SHUTDOWN"><Listener className="org.apache.catalina.startup.VersionLoggerListener"/><Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/><Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/><Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/><Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/><Service name="Catalina"><!--==============================================================================================================DEFAULT - Direct connector with no proxy for unproxied access to Jira.If using a http/https proxy, comment out this connector.==============================================================================================================--><!-- Relaxing chars because of JRASERVER-67974 --><Connector port="8080" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`&quot;&lt;&gt;"maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false"maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443"acceptCount="100" disableUploadTimeout="true" bindOnInit="false"/><!--==============================================================================================================HTTP - Proxying Jira via Apache or Nginx over HTTPIf you're proxying traffic to Jira over HTTP, uncomment the below connector and comment out the others.Ensure the proxyName and proxyPort are updated with the appropriate information if necessary as per the docs.See the following for more information:Apache - https://confluence.atlassian.com/x/4xQLMnginx  - https://confluence.atlassian.com/x/DAFmGQ==============================================================================================================--><!-- <Connector port="8080" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`&quot;&lt;&gt;"maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false"maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443"acceptCount="100" disableUploadTimeout="true" bindOnInit="false" scheme="http"proxyName="jira.mrbun.cn" proxyPort="80"/>--><!--==============================================================================================================HTTPS - Proxying Jira via Apache or Nginx over HTTPSIf you're proxying traffic to Jira over HTTPS, uncomment the below connector and comment out the others.Ensure the proxyName and proxyPort are updated with the appropriate information if necessary as per the docs.See the following for more information:Apache - https://confluence.atlassian.com/x/PTT3MQnginx  - https://confluence.atlassian.com/x/DAFmGQ==============================================================================================================--><!-- <Connector port="8080"relaxedPathChars="[]|"relaxedQueryChars="[]|{}^\`&quot;&lt;&gt;"maxThreads="150"minSpareThreads="25"connectionTimeout="20000"enableLookups="false"maxHttpHeaderSize="8192"protocol="HTTP/1.1"useBodyEncodingForURI="true"redirectPort="8443"acceptCount="100"disableUploadTimeout="true"bindOnInit="false"secure="true"scheme="https"proxyName="xxx.domain.com"proxyPort="443"/>--><!--==============================================================================================================AJP - Proxying Jira via Apache over HTTP or HTTPSIf you're proxying traffic to Jira using the AJP protocol, uncomment the following connector lineSee the following for more information:Apache - https://confluence.atlassian.com/x/QiJ9MQ==============================================================================================================--><!--<Connector port="8009" URIEncoding="UTF-8" enableLookups="false" protocol="AJP/1.3"/>--><Engine name="Catalina" defaultHost="localhost"><Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"><Context path="" docBase="${catalina.home}/atlassian-jira" reloadable="false" useHttpOnly="true"><Resource name="UserTransaction" auth="Container" type="javax.transaction.UserTransaction"factory="org.objectweb.jotm.UserTransactionFactory" jotm.timeout="60"/><Manager pathname=""/><JarScanner scanManifest="false"/><Valve className="org.apache.catalina.valves.StuckThreadDetectionValve" threshold="120" /></Context></Host><Valve className="org.apache.catalina.valves.AccessLogValve"pattern="%a %{jira.request.id}r %{jira.request.username}r %t &quot;%m %U%q %H&quot; %s %b %D &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot; &quot;%{jira.request.assession.id}r&quot;"/></Engine></Service>
</Server>
# 将server.xml文件拷贝到容器内
docker cp server.xml jira:/opt/atlassian/jira/conf/
# 重启JIRA
docker restart jira

再次访问JIRA即可登录

恢复附件以及用户头像

cd /home
tar -zxvf attachments.tar.gz
tar -zxvf avatars.tar.gz
docker cp attachments jira:/var/atlassian/jira/data
docker cp avatars jira:/var/atlassian/jira/data
docker restart jira

至此整个JIRA迁移工作完成,迁移后原来的应用可能会丢失,需要重新安装,记得记录下原来服务中的应用,无需重新购买可以直接安装。

Docker迁移JIRA相关推荐

  1. 细说Mammut大数据系统测试环境Docker迁移之路

    欢迎访问网易云社区,了解更多网易技术产品运营经验. 前言 最近几个月花了比较多精力在项目的测试环境Docker迁移上,从最初的docker"门外汉"到现在组里的同学(大部分测试及少 ...

  2. docker学习笔记(10):docker迁移与升级等其它操作

    引言 上一篇讲解了nvidia-docker中关于nvidia-docker的部署以及一些我遇到的相应错误总结,但最后并没有演示容器开启后的应用与步骤,因为我的理解还不够深,有些东西还是很模糊,而本篇 ...

  3. docker文件过大,Docker容器引擎,迁移/var/lib/docker/到本机其它挂载分区或远程主机的某个分区。docker迁移

    docker文件过大,Docker容器引擎,迁移/var/lib/docker/到本机其它挂载分区或远程主机的某个分区.docker迁移. 0. 迁移前检查镜像和容器 docker images 和d ...

  4. Jira-使用docker安装jira(支持最新版本)

    Jira-使用docker安装jira(支持最新版本) 最新版本已支持到9.5.0 本文仅提供交流学习 本文针对具有docker.Linux使用基础的兄弟姐妹们 请提前安装docker软件 需要原生安 ...

  5. docker安装jira

    docker安装jira并P破J解 1.制作jira镜像 2.配置数据库 2.1 配置mysql的my.cnf 2.2 创建用户和数据库 2.3 复制MySQL JDBC driver 3.web访问 ...

  6. docker搭建jira

    目录 1. 下载docker镜像 2. 新建jira容器 3. 上传mysql驱动 4. 获取文件 4.1 将atlassian-extras-3.2.jar文件拷贝到本地 4.2 使用工具获取 4. ...

  7. 【Docker 运维】Docker迁移至新磁盘

    项目场景: 将Docker整体迁移至新磁盘 问题描述: 服务器运维小伙伴今天通知我说服务器磁盘快满了, 我上去df -h一下发现 Filesystem Size Used Avail Use% Mou ...

  8. 使用docker搭建JIRA服务器,破解JIRA服务器、破解JIRA收费插件

    喜欢方便简单的可以直接下载我搭好的镜像,已上传至dockerhub: docker pull 16888888/jira:v1.0 docker pull 16888888/jira_mysql:v1 ...

  9. 迁移jira后,confluence不能登录解决方法

    这个原因是confluence使用了jira的账号管理,所有的账号都同步自jira,jira迁移后,连接不上,所以confluence的普通不能登录,但admin一般是可以登录的 这里要与" ...

最新文章

  1. 图像篡改检测pytorch版本
  2. ajax文件上传重置,解决AjaxFileupload 上传时会出现连接重置的问题
  3. ios 多线程 -- NSOperation 常用方法
  4. facebook private消息的API回复
  5. 第三节:创建一个Vue实例,超简单
  6. Exchange 2016 CU3 安装失败解决方法
  7. 3.jsp页面分页功能(首页、下一页、上一页、末页)
  8. 高压输电线路线夹温度监测系统装置
  9. 华硕台式计算机编号,怎么查看华硕电脑设备序列号
  10. cadence中集成hspice
  11. java byte 文件大小_java byte文件大小
  12. 十三水牌型 图片_十三水三分天下是什么 十三水三分天下牌型详解
  13. 银行数字化转型导师坚鹏:苏州银行数字化运营之认知篇培训结束
  14. 【超图】SuperMap iClient3D 11i for WebGL新产品食用指南(一)
  15. Direx 自学总结一
  16. 2013年7月25日
  17. 把oracle19c数据导入oracle11g
  18. c4d python 插件_更新C4D地面对齐插件Cinema 4D Plugin Drop To Floor R20 1.1 支持R14-C4D R20...
  19. 帕纳科荧光仪高压发生器维修PW4400/24
  20. Java |写一个程序,实现读入一个正整数,然后输出这个整数的位数

热门文章

  1. 撮合系统的数据流转过程
  2. php使用淘宝IP库接口获取 IP所属地和运营商
  3. python中的pyc文件了解一下?
  4. 大淘客服务器不稳定,日入几百的淘客站被K之后的思考 (二)
  5. Linux - 内存管理
  6. 判断平年还是闰年,一个月有多少天,一年的第几天
  7. 话机耳机模式进入保持状态下每隔1分钟会切换到免提模式后再切回耳机模式
  8. 关于Unity3D打包成exe运行后资源无法成功加载的解决方法
  9. 基于微博的网络安全事件检测
  10. 智能手表FCC CE最新法规简述