Docker 安装 jira笔记

/opt/jira 目录下,新建一个 名为 Dockerfile的文件, 内容如下

1
2
3
4
5
6
7
8
9
FROM cptactionhank/atlassian-jira-software:latest

USER root

# 将代理破解包加入容器
COPY "atlassian-agent.jar" /opt/atlassian/jira/

# 设置启动加载代理包
RUN echo 'export CATALINA_OPTS="-javaagent:/opt/atlassian/jira/atlassian-agent.jar ${CATALINA_OPTS}"' >> /opt/atlassian/jira/bin/setenv.sh

构建容器

1
docker build -t jira/jira:latest .

启动容器

1
docker run -id --name=jiar -p 8099:8080 jira/jira:latest

-p: 代表端口映射,格式为 宿主机映射端口:容器运行端口

  1. 下载atlassian-agent.jar文件

百度网盘地址:
链接:https://pan.baidu.com/s/17zNwlp3sd1PLSCxPVjDwfQ
提取码:b84z

  1. 访问地址 http://ip:8099

选择 我将设置它自己


我选择连接的是 mysql 5.7,用户名和密码,数据库名都是 jiradb

填写好信息之后,可以点击 测试连接 来测试填写的 mysql 连接信息是否正确,如果正确,就进入下一步

这一步我们使用默认即可,也可以按具体情况进行修改

注意:上图中的Mode中,我们在此使用的是Private(私有)模式,在这个模式下,用户的创建需要由管理员创建。而在Public(共用)模式下,用户是可以自己进行注册。

下面这个页面是需要我们输入jira的license,如下:

  1. 破解

5.1. 复制服务器ID
5.2. 进入运行的jira的容器中,按Dockerfile中的"atlassian-agent.jar"的目录 /opt/atlassian/jira/ 下执行命令,生成许可证:

进入容器:

1
sudo docker exec -ti jira /bin/bash

进入容器中执行命令:

1
2
3
4
5
# 只需要替换你的访问地址(http://192.168.0.41)、服务器ID(BY9B-GWD1-1C78-K2DE)

cd /opt/atlassian/jira

java -jar atlassian-agent.jar -d -m test@test.com -n BAT -p jira -o http://192.168.0.41 -s B5BP-G88A-XY6K-2S4L

将生成的许可复制到页面,完成破解

破解完毕之后,就会进入设置 管理员的用户名和密码,电邮通知(SMTP)。
设置完毕之后,就可以进入到 jira 首页了。


mysql 5.7

mysql 5.7 镜像

1
docker run -id --name=mysql57 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7

Connecting Jira applications to MySQL 5.7

创建 数据库名为: jiradb 的数据库

1
CREATE DATABASE jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

设置 jiradb的权限给 jiradb,密码为 jiradb

1
2
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,ALTER,INDEX on jiradb.* TO 'jiradb'@'%' IDENTIFIED BY 'jiradb';
flush privileges;

拷贝容器中的mysqld.cnf文件到当前主机中

1
docker cp mysql57:./etc/mysql/mysql.conf.d/mysqld.cnf ./temp/mysql/mysqld.cnf

格式:

1
docker cp [容器名称]:.[容器内文件的绝对路径] [当前主机存放文件的绝对路径]

按照 jira的文档 修改 mysqld.cnf,在[mysqld] 标签下面添加

1
2
3
4
5
6
7
8
[mysqld]


default-storage-engine=INNODB
character_set_server=utf8mb4
innodb_large_prefix=ON
innodb_file_format=Barracuda
innodb_log_file_size=2G

再将文件复制到容器中

1
2
sudo docker cp ./temp/mysql/mysqld.cnf \
mysql57:./etc/mysql/mysql.conf.d/mysqld.cnf

重启mysql容器

1
sudo docker restart mysql57

登录 阿里云镜像

1
sudo docker login --username=xxx@163.com registry.cn-hangzhou.aliyuncs.com

登出阿里云镜像

1
sudo docker logout registry.cn-hangzhou.aliyuncs.com

安装docker PostgreSQL

1
docker run --name postgresdb -p 5432:5432 -e POSTGRES_PASSWORD=root -d postgres
1
docker run -d --name confluence -p 8090:8090 --user root:root cptactionhank/atlassian-confluence

docker-compose.yml 内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
version: '2'
networks:
backend:
driver: bridge
services:
jira:
container_name: jira
image: jira/jira
stdin_open: true
tty: true
restart: always
ports:
- 8099:8080
networks:
- backend
mysql5:
container_name: mysql57
image: mysql:5
stdin_open: true
tty: true
restart: always
command: --default-authentication-plugin=mysql_native_password
volumes:
- /data/mysql/mysql:/var/lib/mysql
ports:
- 3307:3306
environment:
- MYSQL_DATABASE=default
- MYSQL_USER=default
- MYSQL_PASSWORD=default
- MYSQL_ROOT_PASSWORD=root
networks:
- backend

References