利用docker部署和遷移jira

一、安裝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複製過來的文件名,索引不用管,復原即可;遷移完成後點擊故障診斷和支持工具, 確認沒有異常後找到高級>>索引>>重建索引即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章