当前位置: 代码迷 >> 综合 >> 【Docker学习】17、Docker-Compose 搭建 Confluence(最新版) Wiki 环境
  详细解决方案

【Docker学习】17、Docker-Compose 搭建 Confluence(最新版) Wiki 环境

热度:85   发布时间:2023-12-26 18:42:40.0

文章目录

  • 1、Docker-Compose搭建Confluence
      • (1)Docker-Compose脚本文件
      • (2)创建Confluence、Postgres容器
      • (3)未授权报错问题
      • (4)破解Confluence
      • (5)配置Postgres数据库(与MySQL二选一)
      • (6)配置MySQL数据库(与Postgres二选一)
  • 技术分享区

1、Docker-Compose搭建Confluence

(1)Docker-Compose脚本文件

docker-compose-confluence-postgresql.yml

version: '3.8'
services:confluence:image: cptactionhank/atlassian-confluence:latestcontainer_name: confluenceports:- "8090:8090"- "8091:8091"restart: alwaysdepends_on:- dbvolumes:- /development/docker/confluence/logs:/opt/atlassian/confluence/logs- /development/docker/confluence/confluence-data:/var/atlassian/confluencedb:image: postgres:latestcontainer_name: confluence-dbports:- "5432:5432"restart: alwaysenvironment:- POSTGRES_PASSWORD=123456volumes:- /development/docker/confluence/pgsql-data:/var/lib/postgresql/data

(2)创建Confluence、Postgres容器

创建并启动

docker-compose -f /development/docker/docker-compose-confluence-postgresql.yml up -d

停止并删除

docker-compose -f /development/docker/docker-compose-confluence-postgresql.yml down

(3)未授权报错问题

启动之后发现报错
在这里插入图片描述
检查创建的相关挂载文件,发现confluence-data文件夹的权限不对,不是root/root,需要的是daemon/daemon,正常 docker 和外部交互都是daemon用户
在这里插入图片描述
修改文件夹权限为daemon/daemon

chown -R daemon.daemon confluence-data

在这里插入图片描述
然后重启容器

docker-compose -f /development/docker/docker-compose-confluence-postgresql.yml restart

(4)破解Confluence

从容器复制jar

docker cp confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar ./atlassian-extras-2.4.jar

下载到本地

sz atlassian-extras-2.4.jar

下载破解文件,我直接放在CSDN下载了,然后在 Confluence 找到 Server ID

运行confluence_keygen.jar,并粘贴Server ID

java -jar confluence_keygen.jar

在这里插入图片描述
然后点击 .patch!,选择从服务器下载下来的atlassian-extras-2.4.jar

在这里插入图片描述
继续点击第一个按钮,.gen!,会生成一个授权码,保存好授权码,例如

这是我的,你复制没有用,我是举例说明
AAABKw0ODAoPeJxtkEtLAzEQgO/5FQHPW/ahKELANImwuI/iblc9pulUA2lakuxi/71p115EmMu8P
r6ZmzfYYg4KFynO8sfbLAZmXY/zNE8RB6+cPgZ9sIQd7M6MYBWgZtxvwLW7tQfnSZIh5kCeh7gMQ
M6bSZYnRYriTpAqNHIPpAdjPEikImcRi3oCEtwI1yFRS22ItpP2emPgySuwsLAGiUma8YInOxkRM
6HSse+hPx3hgmdtXYtXVtIKRZANYGVUFd9H7U6zVlHcn7XyuxlwPYKZ0QdwzWELnqSoEw35aNe4p
i8C1wJT3FGOV7ThdIFa9ymt9rOMbgbd6WUlcC9ojTpwE7iSkyXnQ1Ks31lSDTxNHvLnEv3axm5V8
mv2v9xqdOpLevjzyx//H4kOMCwCFCaF0frwtkpx5Q9Id/yJkNOrbYk6AhQ68LOLTtmHJEe28jY6k
a5f7CFrLA==X02f3

然后把atlassian-extras-2.4.jar文件上传到服务器,并复制到Confluence容器中,替换到原本的文件

docker cp ./atlassian-extras-2.4.jar confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar

然后重启容器

docker-compose -f /development/docker/docker-compose-confluence-postgresql.yml restart

IP:8090 访问之后,还是之前的授权界面,我们把生成的授权码粘贴在上面即可,注意使用Ctrl + A、Ctrl + C 复制粘贴,手动选中复制粘贴容易出问题,到此破解完后

(5)配置Postgres数据库(与MySQL二选一)

进入Postgres容器

docker exec -it confluence-db bash

依次执行以下命令

psql -U postgres
\l
CREATE DATABASE confluence WITH OWNER postgres;
\q

然后重启容器

docker-compose -f /development/docker/docker-compose-confluence-postgresql.yml restart

(6)配置MySQL数据库(与Postgres二选一)

这里我们需要增加一个jar到容器内部

docker cp ./mysql-connector-java-8.0.17.jar confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/mysql-connector-java-8.0.17.jar

然后重启Confluence容器
在这里插入图片描述

jdbc:mysql://localhost:3306/confluence?serverTimezone=UTC&sessionVariables=transaction_isolation='READ-COMMITTED'

技术分享区

在这里插入图片描述

  相关解决方案