Docker 安装 Confluence

406

前言

之前在Centos上搭建了一次Confluence,后续公司迁移服务器的时候再次搭建很不方便,于是想到docker-compose编排安装Confluence,下一次迁移就不用花很大的功夫了。话不多说,开始码字!

本篇文章不涉及docker相关知识讲解,阅读此文章默认您了解docker容器相关知识。

安装Confluence

  1. 编写docker-compose.yml文件
version: '3.4'
services:
  confluence:
    image: cptactionhank/atlassian-confluence:7.7.3
    container_name: confluence
    environment:
      - TZ=Asia/Shanghai
    ports:
      - "8090:8090"
    restart: always
    volumes:
      - ./config:/opt/atlassian/confluence
      - ./data:/var/atlassian/confluence
  1. 运行容器docker-compose up -d

  2. 访问http://ip:8090/就可以看到Confluence的初始化和配置页面。

image.png

  1. 选择中文->next->选择“产品安装”->跳过插件安装->进入授权码界面 (这时大部分安装文件已经存在,可以开始破解。这里要记下服务器ID,破解时要用到,不要点击获得试用授权)

image.png

破解Confluence

  1. 从容器中复制下来
sudo docker cp  confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar ./atlassian-extras-2.4.jar
  1. 下载到本地
sz atlassian-extras-2.4.jar
  1. 下破解工具
    点我下载破解工具,解压后运行confluence_keygen.jar,点.path 选择atlassian-extras-2.4.jar,破解成功同目录显示atlassian-extras-2.4.jar.bak

不要关闭破解工具,过会需复制key里面的密钥

  1. atlassian-extras-2.4.jar 文件上传到服务器

  2. 将破解后的jar包复制到容器中

sudo docker cp  ./atlassian-extras-2.4.jar confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar 
  1. 停止重启
docker-compose stop && sudo docker-compose start

配置数据库

  1. 继续访问ip:8090, 拷贝黏贴刚生成的key, 然后next,进入数据库选择。

  2. 准备创建一个空的数据库confluencedb, 连接mysql

  3. 进入mysql内执行如下命令

  • 创建数据库
CREATE DATABASE confluencedb CHARACTER SET utf8 COLLATE utf8_bin;
  • 数据库授权
GRANT ALL PRIVILEGES ON confluencedb.* TO 'confluenceuser'@'localhost' IDENTIFIED BY 'confluencepassword';
GRANT ALL PRIVILEGES ON confluencedb.* TO 'confluenceuser'@'%' IDENTIFIED BY 'confluencepassword';
  • 刷新缓存
flush privileges;
  1. 连接数据库

填入数据库连接url:jdbc:mysql://<dbserver>:3306/<database-name>?userUnicode=true&characterEncoding=UTF-8

若提示数据库隔离级别错误,在Mysql配置文件中加入如下配置。

transaction-isolation=READ-COMMITTED
max_allowed_packet = 256M
innodb_log_file_size=2G

参考官方文档:官方文档

后记

到此安装完毕,enjoy~