首页 > 其他分享 >docker部署 Jira

docker部署 Jira

时间:2024-03-21 18:15:59浏览次数:29  
标签:Jira jira 部署 199.152 192.168 mysql docker root


环境介绍


使用 docker-compose 安装 Jira 项目管理系统。


操作系统


CentOS Linux release 7.9.2009 (Core)

资源配置


CPU:2
MEM:4g
DISK:100g

docker 版本


docker 版本不做统一限制,只要能够运行容器即可。

root@localhost(192.168.199.152)~>docker version
Client: Docker Engine - Community
 Version:           25.0.4
 API version:       1.44
 Go version:        go1.21.8
 Git commit:        1a576c5
 Built:             Wed Mar  6 16:33:16 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          25.0.4
  API version:      1.44 (minimum version 1.24)
  Go version:       go1.21.8
  Git commit:       061aa95
  Built:            Wed Mar  6 16:32:11 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.28
  GitCommit:        ae07eda36dd25f8a1b98dfbf587313b99c0190bb
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
  
root@localhost(192.168.199.152)~>docker-compose version
Docker Compose version v2.24.7

安装过程


记录 jira 整个安装过程。


系统初始化


关闭selinux和firewalld


root@localhost(192.168.199.152)~>sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
root@localhost(192.168.199.152)~>systemctl disable --now firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

修改hosts并声明


root@localhost(192.168.199.152)~>hostnamectl set-hostname --static jira
root@localhost(192.168.199.152)~>echo '192.168.199.152 jira' >> /etc/hosts

退出会话重新登录即可。


校对时间


root@jira(192.168.199.152)~>ntpdate ntp1.aliyun.com

安装docker


root@jira(192.168.199.152)~>yum -y install  docker-ce
root@jira(192.168.199.152)~>echo -e '#!/bin/bash\ndocker-compose $@' > /usr/bin/docker-compose
root@jira(192.168.199.152)~>chmod +x /usr/bin/docker-compose
root@jira(192.168.199.152)~>docker-compose version
Docker Compose version v2.24.7

安装jira


root@jira(192.168.199.152)~>docker pull atlassian/jira-software:8.16.1

为啥采用 8.16.1 , 因为这个版本可以破解。

创建jira运行目录
root@jira(192.168.199.152)/root>mkdir jira
root@jira(192.168.199.152)/root/jira>docker run -d --name jira -p 8080:8080 -v ./jira/data:/var/atlassian/application-data/jira atlassian/jira-software:8.16.1

浏览器访问设置


image-20240321141806348

image-20240321141833031

下一步

image-20240321141944757

到这里需要使用 MySQL ,那就安装MySQL咯。


容器运行MySQL


root@jira(192.168.199.152)/root/jira>docker run -e "MYSQL_ROOT_PASSWORD=123123" -d --name mysql -p 3306:3306 -v ./mysql/data:/var/lib/mysql mysql:8.0.22

创建数据库 jiradb

root@jira(192.168.199.152)/root/jira>docker exec -it mysql bash
root@13a3850562c9:/# mysql -uroot -p123123
mysql> CREATE DATABASE jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
Query OK, 1 row affected (0.01 sec)

页面继续填写信息

主机:192.168.199.152
端口:3306
数据库:jiradb
用户名:root
密码:123123

image-20240321143521646

jira提示:找不到驱动:com.mysql.cj.jdbc.Driver

需要为jira提供 mysql-connect驱动。


下载mysql-connect驱动


下载地址:https://downloads.mysql.com/archives/c-j/

image-20240321143706822

下载完成后,拷贝到 jira 容器里(临时测试方法)

创建存放mysql-connector 目录
root@jira(192.168.199.152)/root/jira>mkdir lib
root@jira(192.168.199.152)/root/jira>cd lib/

上传mysql-connector 后操作
root@jira(192.168.199.152)/root/jira/lib>docker cp mysql-connector-java-8.0.22.jar jira:/opt/atlassian/jira/lib
Successfully copied 2.39MB to jira:/opt/atlassian/jira/lib

重启jira容器
root@jira(192.168.199.152)/root/jira/lib>docker restart jira

数据库不为空错误处理


再次重新填写并测试

image-20240321144112198

又出问题了, 被这个问题困扰了许久,在网络上各种搜索都没找到确切的回答。

针对:【您指定的数据库, 不为空, 请指定空数据库。如果您要升级现有的安装】,采用普通用户即可解决。

数据库添加普通用户:

进入容器
root@jira(192.168.199.152)/root/jira/lib>docker exec -it mysql bash

进入mysql
root@13a3850562c9:/# mysql -uroot -p123123

创建用户
mysql> CREATE USER 'jira'@'%' IDENTIFIED BY 'Jira#123';
Query OK, 0 rows affected (0.03 sec)

为该用户赋权jria
mysql> GRANT ALL PRIVILEGES ON jiradb.* TO 'jira'@'%';
Query OK, 0 rows affected (0.01 sec)

然后再使用普通用户测试

image-20240321145058504

OK,测试连接通过了。点击下一步就开始初始化数据库之后就完成了。

image-20240321145647282

点击下一步。


激活Jira


image-20240321145717103

到这里就需要激活了。

激活Jira 分几步:

  1. 拷贝激活工具到 /var/atlassian/application-data/jira 目录,也就是jira挂载目录
  2. /opt/atlassian/jira/bin/setenv.sh 最后添加一行指令,启动加载代理包

激活工具是一个 jar包:atlassian-agent.jar 下载链接:https://files-cdn.cnblogs.com/files/sanduzxcvbnm/atlassian-agent-v1.2.3.zip

解压上传至 lib 目录

直接将激活工具拷贝到容器挂载目录
root@jira(192.168.199.152)/root/jira>docker cp  lib/atlassian-agent.jar jira:/opt/atlassian/jira/

为什么要把激活工具拷贝到容器里,因为容器内直接就有 java 环境,无需在本地安装jdk

设置启动加载代理包

进入容器
root@jira(192.168.199.152)/root/jira>docker exec -it jira bash
root@ffa9e31feeb6:/opt/atlassian/jira/bin# echo 'export CATALINA_OPTS="-javaagent:/opt/atlassian/jira/atlassian-agent.jar ${CATALINA_OPTS}"' >> /opt/atlassian/jira/bin/setenv.sh

重启容器

root@jira(192.168.199.152)/root/jira>docker restart jira

然后进入容器通过机器码注册:

进入容器
root@jira(192.168.199.152)/root>docker exec -it jira bash
进入目录
root@93ffdce361d7:/var/atlassian/application-data/jira# cd /opt/atlassian/jira/
开始注册
root@93ffdce361d7:/opt/atlassian/jira# java -jar atlassian-agent.jar \
-d -m [email protected] -n Jira \
-p jira -o http://192.168.199.152:8080 \
-s BB75-MAOJ-IUQT-A139

====================================================
=======        Atlassian Crack Agent         =======
=======           https://zhile.io           =======
=======          QQ Group: 30347511          =======
====================================================

Your license code(Don't copy this line!!!):

AAABpQ0ODAoPeJyNkk9vozAQxe98CqQ9Q22aFIhkaVPgQAXJdkN6d8ikuAKDxibb7KdfE9jd/omiS
r7Ymvf8mzfzrah6O+doe9Qm/oLeLWa+vS0i2yPezHpGAFm1XQfoZqIEqaA4dbDiDbBonefJzyhdZ
laEwLVoZcw1sEHokFvHo9YVSQyqRNENKraVtWiEhr1djwJ7d7IrrTu1uLn5XYkaXNFaORdSg+Syh
OS1E3iafgtCh/jmWC8C+V/KZC9G61WW5mmRxNaqb3aA68NWASrm/IO74tVhu+9L7Q4XR7UH/Ysju
J+MrtTyUosjMI09vMvy7fsVuaHiEZiucSyd4nkyHw/Nedam3/2P8VySHHndn4fBDrxWk/1HozU+c
ynUWDckbYKmoefSu8ClYejSubcISECsqJXawCYm/JrxfSPk91f+otyybUbny2l8sb+N5jgwjaTTQ
NKYZWm8SVZORn1KCZnPiB947+d7aaU2gEdAI7+/9+dOvlw/OOn2sXCW9Da8tMmfd+RHj2XFFXzc4
7fic4odCjW1Z0DZBdgpuDPjgwH/A5XLKKIwLQIUWij1U5+pRMIXWta3uH2hb9oacB0CFQCK1rQvV
mldN/vR3uiEdEOPmzUBpQ==X02kc

将上面的连续的随机串复制到页面文本框中。

image-20240321151755294

点击下一步,等待完成就好了。


docker-compose启动


将上面所有步骤整合起来,写成 docker-compose 方式i启动


编写 .env 变量申明文件


root@jira(192.168.199.152)~/jira>cat .env
MYSQL_ROOT_PASSWORD=123123
MYSQL_ROOT_HOST=%

编写docker-compose


vim docker-compose.yml

version: "3.7"
services:
  mysql:
    container_name: mysql
    image: mysql:8.0.22
    environment:
      - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
      - MYSQL_ROOT_HOST=${MYSQL_ROOT_HOST}
      - TZ=Asia/Shanghai
    restart: always
    volumes:
    - ./data/mysql:/var/lib/mysql
    command: --lower_case_table_names=1 --skip-name-resolve --max-connections=1000 --server-id=1 --log-bin=mysql-bin
    healthcheck:
      test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "-uroot", "-p${MYSQL_ROOT_PASSWORD}"]
      interval: 5s
      timeout: 1s
      retries: 10
    network_mode: "host"

  jira:
    container_name: jira
    build: 
      context: jira
      dockerfile: Dockerfile
    image: atlassian/jira-software:8.16.1
    environment:
    - TZ=Asia/Shanghai
    restart: always
    volumes:
    - ./data/jira:/var/atlassian/jira
    network_mode: "host"

启动完成后,进入mysql容器创建用户及数据库

root@jira(192.168.199.152)~/jira>docker exec -it mysql bash
root@jira:/# mysql -uroot -p123123
mysql> CREATE DATABASE jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
mysql> CREATE USER 'jira'@'%' IDENTIFIED BY 'Jira#123';
mysql> GRANT ALL PRIVILEGES ON jiradb.* TO 'jira'@'%';

最后通过机器码注册

root@jira(192.168.199.152)~/jira>docker exec -it jira bash
root@jira:/var/atlassian/application-data/jira# cd /opt/atlassian/jira/
root@jira:/opt/atlassian/jira# java -jar atlassian-agent.jar \
-d -m [email protected] -n Jira \
-p jira -o http://192.168.199.152:8080 \
-s BF3T-Z4GM-0KL1-ZZE0

下载直接使用


下载链接:链接:https://pan.baidu.com/s/1HfT6_S_52fxXXBjXRp2Faw?pwd=hkey 
提取码:hkey 

博客园文章共享目录 / 程序部署 / jira-docker-compose / jira-docker-compose.tar.gz
  1. 导入基础镜像
root@jira(192.168.199.152)~>tar xf jira-docker-compose.tar.gz
root@jira(192.168.199.152)~>cd jira-docker-compose/
root@jira(192.168.199.152)~/jira-docker-compose>/usr/bin/ls images/* | xargs -i docker load -i {}
  1. 启动
root@jira(192.168.199.152)~/jira-docker-compose>docker-compose up -d
  1. 进入mysql容器创建用户及数据库
root@jira(192.168.199.152)~/jira>docker exec -it mysql bash
root@jira:/# mysql -uroot -p123123
CREATE DATABASE jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'jira'@'%' IDENTIFIED BY 'Jira#123';
GRANT ALL PRIVILEGES ON jiradb.* TO 'jira'@'%';
  1. 最后通过机器码注册
root@jira(192.168.199.152)~/jira>docker exec -it jira bash
root@jira:/var/atlassian/application-data/jira# cd /opt/atlassian/jira/
root@jira:/opt/atlassian/jira# java -jar atlassian-agent.jar \
-d -m [email protected] -n Jira \
-p jira -o http://192.168.199.152:8080 \
-s BF3T-Z4GM-0KL1-ZZE0


--- EOF ---

标签:Jira,jira,部署,199.152,192.168,mysql,docker,root
From: https://www.cnblogs.com/hukey/p/18087942

相关文章

  • Linux服务器上部署更新/重启nuxt项目
    启动/更新/重启nuxt项目步骤1、本地电脑打包生成nuxt文件夹2、压缩nuxt文件夹后上传到服务器3、替换掉服务器上旧的nuxt文件夹..3.1、建议备份服务器上的nuxt文件夹,不做删除操作,只重命名下mvnuxtnuxt20240310//重命名nuxt文件夹为nuxt20240310..3.2、......
  • 大模型应用开发:手把手教你部署并使用清华智谱GLM大模型
    部署一个自己的大模型,没事的时候玩两下,这可能是很多技术同学想做但又迟迟没下手的事情,没下手的原因很可能是成本太高,近万元的RTX3090显卡,想想都肉疼,又或者官方的部署说明过于简单,安装的时候总是遇到各种奇奇怪怪的问题,难以解决。本文就来分享下我的安装部署经验,包括本地和租用......
  • 简单部署syslog日志服务
    服务yum-yinstallrsyslogvi/etc/rsyslog.conf$ModLoadimudp$UDPServerRun514####endoftheforwardingrule###$templateIpTemplate,"/var/log/syslog/%FROMHOST-IP%/%$year%-%$month%-%$day%.log.log"*.*?IpTemplatesystemctlrestartrsyslo......
  • openwrt的docker编译环境
    version:'3'services:ubuntu-lxde-novnc:image:docker-ubuntu-lxde-novnc:latestcontainer_name:ubuntu-lxde-novncrestart:alwaysprivileged:trueenvironment:-TZ=Asia/Shanghai-HTTP_PASSWORD=password......
  • linux部署Minio
    linux部署Minio 1、官网https://min.io/docs/minio/linux/index.html?ref=docs-redirect下载minio程序运行文件,wgetwgethttps://dl.min.io/server/minio/release/linux-amd64/minio 2、创建数据目录mkdir-p/data/minio/data 3、移动minio服务运行......
  • Kafka集群部署
    目录Kafka集群部署1.1服务器资源1.1.1安装JDK(所有设备)1.1.2配置ip和主机名映射(所有服务器)(可不做)1.1.3配置主机名(所有设备)(可不做)1.2在node1上安装、配置kafka1.2.1安装kafka1.2.2修改配置文件1.2.2.1修改zookeeper.properties1.2.2.2配置Zookeeper的id1.2.2.3......
  • docker 数据卷之间的继承
     1.宿主vs容器之间映射添加容器卷 2. 读书规则映射添加说明: 3. 卷的继承和共享:命令:dockerrun[-it]--privileged=true--volumes-fromu1--name=u2ubuntuu1是父容器,u2是取得子容器别名  即使容器1挂了,容器2和宿主机依然可以双向互通。......
  • Zookeeper+Kafka单节点部署
    一.Zookeeper部署启动1.下载zookeeperApacheZooKeeper(http://zookeeper.apache.org/releases.html) 2.文件上传通过Xftp软件上传到Linux系统中若在外部解压可直接传入相应的文件地址,若未解压则传入压缩包在Linux系统中进行解压操作tar-zxvfzookeeper-3.9.2.tar.gz......
  • 如何在Docker容器启动时自动运行脚本
    本文分享自华为云社区《如何在Docker容器启动时自动运行脚本》,作者:皮牙子抓饭。如何在Docker容器启动时自动运行脚本在使用Docker构建应用程序时,有时我们希望在启动Docker容器时自动执行一些脚本,以初始化应用程序或执行一些必要的操作。本文将介绍如何在Docker容器启动时自......
  • 从零开始写 Docker(八)---实现 mydocker run -d 支持后台运行容器
    本文为从零开始写Docker系列第八篇,实现类似dockerrun-d的功能,使得容器能够后台运行。完整代码见:https://github.com/lixd/mydocker欢迎Star推荐阅读以下文章对docker基本实现有一个大致认识:核心原理:深入理解Docker核心原理:Namespace、Cgroups和Rootfs基于......