一、安装docker:

配置docker yum源
cat docker.repo
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-edge]
name=Docker CE Edge - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/edge
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-edge-debuginfo]
name=Docker CE Edge - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/edge
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-edge-source]
name=Docker CE Edge - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/edge
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

1.安装docker:
yum -y install docker-ce
systemctl start docker
systemctl enable docker
docker search jira
docker pull cptactionhank/atlassian-jira-software 报错 国外的镜像在国内pull失败 下载daocloud

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://9645cd65.m.daocloud.io
systemctl restart docker
docker pull cptactionhank/atlassian-jira-software 成功
docker pull mysql:5.7
2.运行mysql
docker run --name jira-mysql --restart always -p 3306:3306 -v /data/jira_mysql:/var/lib/mysql -v /etc/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -e MYSQL_ROOT_PASSWORD=**** -d mysql:5.7
-v 映射了宿主机的/etc/my.cnf到容器内

cat /etc/my.cnf
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8mb4
innodb_default_row_format=DYNAMIC
innodb_large_prefix=ON
innodb_file_format=Barracuda
innodb_log_file_size=2G
sql_mode = NO_AUTO_VALUE_ON_ZERO
Remove leading # and set to the amount of RAM for the most important data
cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
Remove leading # to turn on a very important data integrity option: logging
changes to the binary log between backups.
log_bin
Remove leading # to set options mainly useful for reporting servers.
The server defaults are faster for transactions and fast SELECTs.
Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

3.连接mysql:
MYSQL_PORT_3306_TCP_ADDR=192.168.170.132
MYSQL_PORT_3306_TCP_PORT=3306
MYSQL_ENV_MYSQL_ROOT_PASSWORD=**
docker run -it --link jira-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL
_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
4.创建jira数据库,并添加jira用户
docker exec -it jira-mysql bash
mysql>create database jira default character SET utf8mb4 COLLATE utf8mb4_bin;
mysql>grant all on jira.* to 'jiraAdmin'@'192.168.%' identified by '*****';
mysql>grant all on jira.* to 'jiraAdmin'@'172.17.0.1' identified by '*****'; 可选
mysql>flush privileges;
在容器内或者宿主机上测试能否登录数据库。
5.修改mysql事物隔离级别
set global transaction isolation level read committed;
set session transaction isolation level read committed;
6.启动jira
docker run --detach --name jira --privileged=true --restart always -v /var/atlassian:/var/atlassian -v /root/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46-bin.jar:/opt/atlassian/jira/atlassian-jira/WEB-INF/lib/mysql-connector-java-5.1.46-bin.jar --publish 8080:8080 cptactionhank/atlassian-jira-software
-v 将mysql驱动程序也映射到WEF-INF/lib/下,或者等容器启动后从宿主机 docker cp到容器内再重启jira即可。
[root@zhuzhu ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b74157e58cb8 cptactionhank/atlassian-jira-software "/docker-entrypoint.…" About a minute ago Up About a minute 0.0.0.0:8080->8080/tcp epic_davinci
16c4bf433645 mysql:5.7 "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, 33060/tcp jira-mysql
7.破解jira
可在jira官网申请90天免费许可证,也可使用破解软件;迁移不需要破解,老的会覆盖新的。

二、迁移jira:

1、找到恢复系统import的文件路径以及备份系统。停止新的jira
2、将老的jira上的附件复制到新的jira上,最好是rsync避免改变文件的属性不一致。启动新的jira
3、将老的数据备份后copy到新机器上的指定目录下;
4、待新的jira启动后,找到系统>>恢复系统>>文件名填写老的jira复制过来的文件名,索引不用管,复原即可;迁移完成后点击故障诊断和支持工具, 确认没有异常后找到高级>>索引>>重建索引即可。