《Docker快速入门(提高篇)》通过Docker Compose安装Jira

发布于:2023-01-04 ⋅ 阅读:(688) ⋅ 点赞:(0)

前面两篇文章,介绍了Compose的基本用法,并给出了Nginx、MySQL、GitLab的具体示例,但是,都仅限单个容器的管理。本篇,要说说多个容器如何管理,以Jira为例。

一、环境准备

1、下载atlassian-agent

源出处为https://zhile.io/2018/12/20/atlassian-license-crack.html,Gitee和GitHub项目资源已不可见,好在文章末尾的百度网盘长期有效。下载,得到atlassian-agent-v1.3.1.zip,解压,里面有说明文件和需要的jar包。

提示:实在要该资源,可以在Gitee搜索atlassian-agent。

2、下载MySQL驱动

jira安装后,在初始化时,需要配置已有数据库链接,还需要用到驱动包,这里也要提前下载好。

下载方法有很多,比如你项目上应该就有。这里提供一种方式:新建一个Spring Boot项目,添加MySQL依赖,获取最新驱动。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.lewis.demo</groupId>
  <artifactId>demo-mysql-connection</artifactId>
  <version>1.0-SNAPSHOT</version>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.3</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>

  <properties>
    <java.version>17</java.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
    </dependency>
    
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
  
</project>

3、目录设置

在一个空文件夹下,新建文件夹mysql、jira、libs,新建文件docker-compose.yml。

其中,mysql和jira,用于存放配置文件、日志文件、数据文件;将下载的两个jar包,存放在libs中,容器中要使用。

4、编写yml

编写yml文件,管理mysql和jira两个容器:

services:
  mysql:
    container_name: mysql
    image: mysql:latest
    restart: "no"
    ports: 
      - 13306:3306
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    volumes:
      - ./mysql/conf:/etc/mysql
      - ./mysql/logs:/var/log/mysql
      - ./mysql/data:/var/lib/mysql

  jira:
    container_name: jira
    image: atlassian/jira-software:latest
    restart: "no"
    ports:
      - 18080:8080
    environment:
      CATALINA_OPTS: -javaagent:/opt/atlassian/jira/atlassian-agent.jar
    volumes:
      - ./jira/data:/var/atlassian/application-data/jira
      - ./libs/atlassian-agent.jar:/opt/atlassian/jira/atlassian-agent.jar
      - ./libs/mysql-connector-java-8.0.30.jar:/opt/atlassian/jira/lib/mysql-connector-java.jar

这里定义了两个服务,mysql和jira,上面下载的两个jar包也通过数据卷挂载到jira容器中了。

5、启动容器

执行命令:docker-compose up -d,启动容器:

mysql镜像,之前演示过,这里只需要拉取jira镜像,并创建了两个容器,查看下容器启动情况。

mysql启动失败,回顾下基础篇中《在Docker中运行MySQL》,在mysql的conf下创建文件夹conf.d即可。

再次执行docker-compose up -d,启动容器,可见该命令的强大。

再次查看容器,应该就没问题了。

6、创建数据库

首先,通过MySQL客户端测试数据库连接,主机填写localhost。

接下来,创建该连接,打开该连接,新建查询,执行以下脚本,创建jira数据库和用户。

create database jiradb;
create user "jira"@"%" identified by "jira";
grant all privileges on jiradb.* to "jira"@"%";
flush privileges;

以上,创建了jiradb数据库,创建了jira用户,其密码为jira,并为该用户做了授权。

二、设置Jira

经过上述折腾,jira容器应该已经启动完毕了,打开http://localhost:18080

1、设置中文

首先,将Language设置为中文。

2、我将设置它自己

接下来,选择我将设置它自己。

3、数据库设置

选择其它数据库,主机不能填localhost,应该写容器名mysql,端口填3306,不能填13306,因为是在容器中连接,数据库填jiradb,用户名和密码都是jira,测试连接。

注意:主机和端口不能填错了,因为这是在容器内使用,应该填写容器名和容器内使用的端口,否则测试连接失败。

4、设置应用程序的属性

属性采用默认设置就好了。

5、设置许可证

如果本地有java环境,可以在本地生成许可证,没有的话,进入jira容器生成也可以。

执行命令,带上服务器ID,生成许可证。

java -jar atlassian-agent.jar -d -m test@test.com -n BAT -p jira -o lewis2951 -s BSL7-RRF4-HKAS-ZHVK

 

以上通过本地环境生成的,复制许可证。

6、设置管理员账户

根据自己需求设置,Email地址可以写一个不存在的,但建议使用真实Email,最好找组织申请一个,下面会用到,例如jira@company.com。

7、设置电子邮件通知

如果现在设置,将带出上一步设置的管理员Email,这里就不设置了。

8、完成部署

到此,Jira就部署完成了,看看页面。

进入欢迎页面,可以创建示例项目,也可以选择其他,根据实际需要来选择。

9、查看许可证

最后看下许可证,在 管理 -> 应用程序 下。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到