Docker私有化部署Jira

2,063 阅读2分钟

1、拉取jira镜像

jira-software

docker pull cptactionhank/atlassian-jira-software

jira-core

docker pull atlassian/jira-core

2、拉取MySQL镜像

docker pull mysql:5.7

3、运行mysql

docker run --name mysql57 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

容器外映射端口号可以改,因为我本机没有安装mysql,所以都是3306

4、准备数据库

CREATE DATABASE jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
GRANT ALL on jiradb.* TO 'jira'@'%' IDENTIFIED BY 'Jira#123';
flush privileges;

5、准备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

6、拷贝文件到mysql容器中

docker cp /Users/xxxxxx/xxxxx/my.cnf mysql57:/etc/mysql 

mysql57是容器名字,注意替换

7、运行jira镜像

jira-software

docker run -d -p 9090:8080 --name jira-local cptactionhank/atlassian-jira-software

jira-core

docker run --detach --publish 9091:8080 --name jira-core-local atlassian/jira-core

容器外映射端口根据自己需要更改。

8、访问127.0.0.1:{port}进行配置

jira-software和jira-core都可能会遇到

选择自定义配置,选择使用已有数据库,填写数据库连接,此处应注意,host填127.0.0.1 或者localhost都有可能连接不上数据库,但是在宿主机使用navicat却可以连接,此时应该检查mysql容器的网关是什么,使用以下命令:

docker inspect mysql57 | grep Gateway

mysql57是容器名字,注意替换

获取如下结果:

"Gateway": "172.17.0.1", 
            "IPv6Gateway": "",
                    "Gateway": "172.17.0.1",
                    "IPv6Gateway": "",

这时输入172.17.0.1后再次尝试连接测试,应该就可以了。

jira-core

对应步骤一,如果选择jira-core,此处可能会提示需要mysql 5.7的驱动程序,执行以下命令将驱动jar包导入

docker cp /Users/xxxxxxxx/Downloads/mysql-connector-java-5.1.49/mysql-connector-java-5.1.49-bin.jar jira-core-local:/opt/atlassian/jira/lib

jira-core-local容器名字,注意替换

9、进行配置工作,略

需要到官网生成key,略

10、破解

jira-software和jira-core破解方法一致

将atlassian-extras-3.2.jar拷贝到jira容器中

docker cp /Users/xxxxxxx/Work/atlassian-extras-3.2.jar jira-local:/opt/atlassian/jira/atlassian-jira/WEB-INF/lib

重启jira容器即可

docker restart jira-local