最近尝试了在docker环境下安装jira项目管理工具,下面整理了一份,网上很多教程都很多坑,我也是一步步踩着坑出来的,希望以下教程对大家有所帮助。
1.mysql数据库,我这边用的是 mysql5.6,有兴趣的可以用更新的,不过对应驱动也要新的。
2.jira的破解包atlassian-extras-3.2.jar,以下是我的百度网盘下载地址,大家也可以从其他地方下载;
链接:https://pan.baidu.com/s/1AdLWd9FpwQDvjTk7TnV2aQ
提取码:mosf
3.本人使用的系统是centos7
以下所有的步骤都是在centos7系统环境下进行的,其他版本linux系统应该也可以,具体大家可以尝试。
关闭虚拟机防火墙:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
更新环境并安装yum-utils工具:
yum update
yum install -y yum-utils
配置docker镜像:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装docker:
yum install docker-ce docker-ce-cli containerd.io
开启并重启docker服务:
systemctl enable docker.service
systemctl start docker.service
配置docker日志打印:
vi /etc/docker/daemon.json
把以下jason配置写入到daemon.json文件:
{
"registry-mirrors": ["https://lpo2jhgo.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
重启daemon和docker服务
systemctl daemon-reload
systemctl restart docker.service
以上步骤结束后,可以运行docker run hello-world命令,测试安装是否成功,第一次是没有hello-word镜像的,会自动从docker镜像仓库下载,如果打印hello-word则安装成功
可以执行以下命令查看所有本地镜像
docker images
docker仓库中查找mysql
docker search mysql
能查找到对应mysql的镜像
下载mysql镜像,我这边用的5.6
docker pull mysql:5.6
基本启动:(缺点是容器关闭再启动数据会消失)
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD="设置你的mysql的密码"-d mysql:5.6
高级启动:(将宿主机/mysql/data 挂载到 mysql容器的/var/lib/mysql)
-v /mysql/data:/var/lib/mysql
查看是否启动成功:
docker ps -a
以下截图可以看到mysql:5.6启动成功
链接mysql, 以下命令中862b4f532872是我上面截图中的容器id
docker exec -it 862b4f532872 /bin/bash
登录mysql
mysql -uroot -proot
安装jira之前可以先创建好数据库,我这边数据库名字就叫“jira”,切记,这里的编码格式一定要是“utf8mb4_bin”,不然下面有些表刷不进来
CREATE DATABASE jira CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
GRANT ALL on jira.* TO 'jira'@'%' IDENTIFIED BY '111111';
flush privileges;
获取jira镜像
docker pull cptactionhank/atlassian-jira-software:8.1.0
启动jira,我这边对外映射端口为8090,大家可以随意,这里也没有对数据持久化,只是个demo
docker run -d -p 8090:8080 --name jira-software -v /etc/localtime:/etc/localtime:ro cptactionhank/atlassian-jira-software:8.1.0
浏览器打开http://192.168.10.69:8090,我本地测试用的内网ip,大家如果是公网,可以公网访问,打开后出现以下页面
可以选择右上角语言,默认英文
然后选择下面“i'll set it up mysself” ,也就是自己设置,点击继续,出现一下页面,由于我的已经配置好,所以网上找个图替代一下
如上图配置好数据库以后测试连接,成功了以后点击“下一步”需要等一会,系统需要刷数据库表到jira数据库,好了以后需要配置一下模式如下图,也是网上找的图:
根据自己情况配置,配置好点“下一步”,出现如下图,需要获取一个许可证:
那我们就点击下面“生成jira试用许可证”,去注册一个试用的key
然后把获取的一串key填入到刚才获取许可证页面
点击“下一步”设置管理员账户:
后面就完成了。
当然我们还需要最关键的一步,破解:
下载破解包,在准备工作那一步骤中已经提供了地址可下载
链接:https://pan.baidu.com/s/1AdLWd9FpwQDvjTk7TnV2aQ
提取码:mosf
把下载好的破解包放到jira安装目录下的lib包中:以下的 cbdq90wz123 是我jira容器的id,大家可以通过“docker ps”命令查看自己的jira容器id。
docker cp atlassian-extras-3.2.jar cbdq90wz123:/opt/atlassian/jira/atlassian-jira/WEB-INF/lib
docker restart cbdq90wz123
注意:直接copy到lib下面重启服务可能会出现如下异常:
Caused by: java.lang.IllegalStateException: java.io.FileNotFoundException: /opt/atlassian/jira/atlassian-jira/WEB-INF/lib/atlassian-extras-3.2.jar (Permission denied)
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.getArchiveEntry(AbstractSingleArchiveResourceSet.java:100)
at org.apache.catalina.webresources.AbstractArchiveResourceSet.getResource(AbstractArchiveResourceSet.java:257)
at org.apache.catalina.webresources.StandardRoot.getResourceInternal(StandardRoot.java:281)
at org.apache.catalina.webresources.Cache.getResource(Cache.java:62)
这是因为copy过去的atlassian-extras-3.2.jar包没有相关权限,可以通过以下方式授权:
我们先进入到lib目录下执行命令 “ls -l ”查看所有包的权限:
会发现atlassian-extras-3.2.jar包只有一个读的权限,我们需要改成跟其他包一样的权限才行:
执行以下命令以root身份进到容器中:
sudo docker exec -ti -u root cbdq90wz123 bash
进入到刚才的lib目录下执行以下命令
chmod 644 atlassian-extras-3.2.jar
这里的644对应相关权限是“-rw-r--r--”,大家想了解更多可以去参考linux系统下权限的相关知识,这里不多说。
一定要有跟其他包一样的权限才可以,如下图已经给包授权:
好了,权限赋予了,可以重启了,大功告成!