采用以上工具,理论上可以破解几乎全部版本。
# 启动容器mysql
docker run --name mysql \
--restart always \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=zagame10086 \
-v data_mysql_vol:/var/lib/mysql \
-v conf_mysql_vol:/etc/mysql/conf.d \
-v data_backup_vol:/backup \
-d mysql:5.7
MySQL所使用的配置文件my.cnf核心参数:
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
[mysqld]
character_set_server = utf8
collation-server = utf8_bin
transaction_isolation = READ-COMMITTED
需要注意的是,Confluence需要使用utf8_bin,并将事务隔离策略设为READ-COMMITTED。
--创建jira数据库及用户
--drop database jira;
create database jira character set 'UTF8';
create user jira identified by 'jira';
grant all privileges on `jira`.* to 'jira'@'172.%' identified by 'jira' with grant option;
grant all privileges on `jira`.* to 'jira'@'localhost' identified by 'jira' with grant option;
flush privileges;
--创建confluence数据库及用户
--drop database confluence;
create database confluence character set 'UTF8';
create user confluence identified by 'confluence';
grant all privileges on `confluence`.* to 'confluence'@'%' identified by 'confluence' with grant option;
grant all privileges on `confluence`.* to 'confluence'@'localhost' identified by 'confluence' with grant option;
flush privileges;
--设置confluence字符集
alter database confluence character set utf8 collate utf8_bin;
-- confluence要求设置事务级别为READ-COMMITTED
set global tx_isolation='READ-COMMITTED';
--set session transaction isolation level read committed;
--show variables like 'tx%';
JIRA 是一个缺陷跟踪管理系统,为针对缺陷管理、任务追踪和项目管理的商业性应用软件,开发者是澳大利亚的Atlassian。JIRA这个名字并不是一个缩写,而是截取自“Gojira”,日文的哥斯拉发音。 官网
编写Dockerfile文件:
FROM cptactionhank/atlassian-jira-software:7.12.0
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
- JIRA
--Dockerfile
--atlassian-agent.jar
docker build -t jira/jira:v7.12.0 .
# 启动容器jira,并关联mysql和confluence容器
docker run --name jira \
--restart always \
--link mysql:mysql \
--link confluence:confluence \
-p 9005:8080 \
-v data_jira_var:/var/atlassian/jira \
-v data_jira_opt:/opt/atlassian/jira \
-d jira/jira:v7.12.0
# 设置产品类型:-p jira, 详情可执行:java -jar atlassian-agent.jar
java -jar atlassian-agent.jar -d -m test@test.com -n BAT -p jira -o http://127.0.0.1 -s BACN-OTO2-ZDC9-CWVG
Atlassian Confluence(简称Confluence)是一个专业的wiki程序。它是一个知识管理的工具,通过它可以实现团队成员之间的协作和知识共享。官网
FROM cptactionhank/atlassian-confluence:6.13.0
USER root
# 将代理破解包加入容器
COPY "atlassian-agent.jar" /opt/atlassian/confluence/
# 设置启动加载代理包
RUN echo 'export CATALINA_OPTS="-javaagent:/opt/atlassian/confluence/atlassian-agent.jar ${CATALINA_OPTS}"' >> /opt/atlassian/confluence/bin/setenv.sh
- Confluence
--Dockerfile
--atlassian-agent.jar
docker build -f Dockerfile -t confluence/confluence:6.13.0 .
# 启动容器confluence,并关联mysql和jira容器
docker run --name confluence \
--restart always \
--link mysql:mysql \
--link jira:jira \
-p 9006:8090 \
-v data_confluence_vol:/home/confluence_data \
-v data_confluence_opt:/opt/atlassian/confluence \
-v data_confluence_var:/var/atlassian/confluence \
-d confluence/confluence:6.13.0
# 设置产品类型:-p conf, 详情可执行:java -jar atlassian-agent.jar
java -jar atlassian-agent.jar -d -m test@test.com -n BAT -p conf -o http://127.0.0.1 -s B6QG-R8VH-YCHH-8EY2
问题:
启动后发现Confluence和Jira后台都报错如下:
WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
原因:
MySQL5.7.6以上版本要默认要求使用SSL连接,如果不使用需要通过设置useSSL=false来声明。
解决方案:
在mysql连接字符串url中加入useSSL=true或者false即可,如下:
# Confluence找到配置文件/var/atlassian/confluence/confluence.cfg.xml修改mysql连接字符串如下:
jdbc:mysql://mysql/confluence?useUnicode=true&characterEncoding=utf8&useSSL=false
# Jira找到配置文件/var/atlassian/jira/dbconfig.xml修改mysql连接字符串如下:
jdbc:mysql://address=(protocol=tcp)(host=mysql)(port=3306)/jira?useUnicode=true&characterEncoding=UTF8&sessionVariables=default_storage_engine=InnoDB&useSSL=false