赞
踩
前面两篇文章,介绍了Compose的基本用法,并给出了Nginx、MySQL、GitLab的具体示例,但是,都仅限单个容器的管理。本篇,要说说多个容器如何管理,以Jira为例。
源出处为https://zhile.io/2018/12/20/atlassian-license-crack.html,Gitee和GitHub项目资源已不可见,好在文章末尾的百度网盘长期有效。下载,得到atlassian-agent-v1.3.1.zip,解压,里面有说明文件和需要的jar包。
提示:实在要该资源,可以在Gitee搜索atlassian-agent。
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>
在一个空文件夹下,新建文件夹mysql、jira、libs,新建文件docker-compose.yml。
其中,mysql和jira,用于存放配置文件、日志文件、数据文件;将下载的两个jar包,存放在libs中,容器中要使用。
编写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容器中了。
执行命令:docker-compose up -d,启动容器:
mysql镜像,之前演示过,这里只需要拉取jira镜像,并创建了两个容器,查看下容器启动情况。
mysql启动失败,回顾下基础篇中《在Docker中运行MySQL》,在mysql的conf下创建文件夹conf.d即可。
再次执行docker-compose up -d,启动容器,可见该命令的强大。
再次查看容器,应该就没问题了。
首先,通过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容器应该已经启动完毕了,打开http://localhost:18080。
首先,将Language设置为中文。
接下来,选择我将设置它自己。
选择其它数据库,主机不能填localhost,应该写容器名mysql,端口填3306,不能填13306,因为是在容器中连接,数据库填jiradb,用户名和密码都是jira,测试连接。
注意:主机和端口不能填错了,因为这是在容器内使用,应该填写容器名和容器内使用的端口,否则测试连接失败。
属性采用默认设置就好了。
如果本地有java环境,可以在本地生成许可证,没有的话,进入jira容器生成也可以。
执行命令,带上服务器ID,生成许可证。
java -jar atlassian-agent.jar -d -m test@test.com -n BAT -p jira -o lewis2951 -s BSL7-RRF4-HKAS-ZHVK
以上通过本地环境生成的,复制许可证。
根据自己需求设置,Email地址可以写一个不存在的,但建议使用真实Email,最好找组织申请一个,下面会用到,例如jira@company.com。
如果现在设置,将带出上一步设置的管理员Email,这里就不设置了。
到此,Jira就部署完成了,看看页面。
进入欢迎页面,可以创建示例项目,也可以选择其他,根据实际需要来选择。
最后看下许可证,在 管理 -> 应用程序 下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。