一、数据库准备

数据库版本:5.7

这里数据库并没有采用docker镜像方式,而是选择已有数据库。至于数据库安装这里不再说明。

注:我这里安装confluence时,需要在下面配置数据库信息时,在数据库地址链接后面加上?sessionVariables=tx_isolation='READ-COMMITTED',否则会报错

1) 创建数据库并授权

create database confluence default character set utf8 collate utf8_bin;
GRANT ALL PRIVILEGES ON confluence.* TO 'confluence'@'%' IDENTIFIED BY 'Confluence#123' WITH GRANT OPTION;
FLUSH PRIVILEGES;

二 、confluence安装

1)  获取镜像

confluence镜像我们去拉取官方最新镜像atlassian/confluence-server:6.15.2

[root@vanje-dev01 ~]# docker pull atlassian/confluence-server:6.15.2

镜像大小大约800多M,下载速度取决于本地带宽,耐心等待就好

2)启动confluence

[root@vanje-dev01 ~]# docker run -d \
    -v /opt/confluence:/var/atlassian/application-data/confluence \
   -v /etc/localtime:/etc/localtime:ro \
  --name="confluence" \
  -p 7080:8090 \
   -p 7091:8091 \
  atlassian/confluence-server:6.15.2

上面参数挂载宿主机目录进行confluence数据持久化及同步容器时间,7080为容器映射到宿主机端口,后面需要用此端口进行对confluence访问。

启动后,可以通过docker ps 查看是否启动成功,如果看到confluence容器是UP状态,则证明已经启动成功。

3)confluence安装配置

浏览器打开confluence访问页面:http://172.16.11.248:7080,既可以看到confluence安装配置页面

3.1)修改语言(看个人需要)

3.2) 获得插件,这里可以不选择,直接下一步就行

3.3) 获取Server ID到次页面需要输入key才可以进行下一步,这里需要记住服务器ID,为后面破解需要。

三、confluence破解

  3.1)破解包下载

    下载地址: key-Confluence.rar

  3.2)运行破解程序(需要java环境)

  win上打开cmd,进入下面路径,运行破解程序

  D:\key-Confluence\confluence5.1-crack\confluence5.1-crack\iNViSiBLE\

  java -jar confluence_keygen.jar

  

  3.3)将atlassian-extras-decoder-v2-3.4.1.jar从容器中复制出来,并重命名

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

  3.4) 把刚刚从容器中复制出来的atlassian-extras-2.4.jar放到破解文件夹中(D:\key-Confluence\),后面破解程序生成key时需要加载

    点击.patch选择从容器中复制出来的文件atlassian-extras-2.4.jar进行加载,如果没问题可以看到左下角加载成功的字样。

  

  3.5)填写注册信息

  name:随意

  Server ID:上文出现的server id(我这里是:B3B4-0N2V-HJY0-1HJL)

  信息填写后,点击.gen按钮即可生成所需key

  3.6)将生成的新的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

  说明:通过上面生成key,会在atlassian-extras-2.4.jar所在目录生成新的jar文件(及破解后的文件),需要把生成新的文件复制到confluence容器中

  另外这里由于使用的是mysql数据库,还需要mysql驱动,不然下面配置mysql信息时无法填写用户名密码,所以我们复制mysql驱动至容器

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

  mysql驱动下载地址:https://dev.mysql.com/downloads/connector/j/5.1.html

  重启confluence容器

  3.7)复制生成的key输入到浏览器中,点击下一步,即可进行数据库配置

  3.8)配置数据库信息

  选择自己数据库时,下面在数据库类型中选择mysql,数据库信息填写成功后,点击测试链接,显示成功即可进行下一步操作。

注:

  1、数据库URL中的IP地址需要修改为真实的数据库IP,后面也需要加上?sessionVariables=tx_isolation='READ-COMMITTED',否则会报错。另外,还需要加上useUnicode=true&characterEncoding=utf8字符串,防止出现中文乱码的情况

  完整URL:jbdc:mysql://172.16.11.248/confluence?sessionVariables=tx_isolation='READ-COMMITTED'&useUnicode=true&characterEncoding=utf8

  2、若是你在安装时没有添加"useUnicode=true&characterEncoding=utf8"字符串,可以在安装后编辑:/var/atlassian/application-data/confluence下的confluence.cfg.xml文件,添加"&useUnicode=true&characterEncoding=utf8"

  完整配置:<property name="hibernate.connection.url">jdbc:mysql://172.16.11.248/confluence?sessionVariables=tx_isolation='READ-COMMITTED'&amp;useUnicode=true&amp;characterEncoding=utf8</property>

  3.9)下一步时间稍微比较长,因为需要初始化数据到指定数据库中,初始化成功后,就可看到下面的页面,我们选择空白站点进行confluence使用。

  3.10)配置confluence管理用户

这样confluence安装破解就已经完毕,后面就可以开始使用了。

四、解决上传附件乱码问题

  confluence安装后,如果我们上传的附件包含中文,在预览时,会出现乱码的情况,这是因为我们的容器中没有微软字体,需要我们手动添加。见下图:

  

  4.1)上传字体文件

  confluence官方镜像中已经安装好设置字体命令,所以我们不需要单独安装(这点做的真攒。。),我们从win系统中复制微软字体到镜像中指定文件就好

  win系统字体文件路径:C:\Windows\Fonts

  我这里选择的是simsun.ttc(新宋体;常规),上传到confluence容器宿主机,然后copy至镜像中的/usr/share/fonts/chinese

  4.2)把字体文件复制到容器中

  首先进入容器,创建chinese目录

[root@vanje-dev01 ~]# docker exec -it confluence /bin/bash                             #进入容器
root@795b0edae75e:/var/atlassian/application-data/confluence# mkdir /usr/share/fonts/chinese/   #创建chinese目录
root@795b0edae75e:/var/atlassian/application-data/confluence# exit                    #退出容器
[root@vanje-dev01 ~]# docker cp simsun.ttc confluence:/usr/share/fonts/chinese/          #copy字体至容器中

  说明:上面说过confluence官方镜像中默认已安装字体命令,所以/usr/share/fonts目录已经存在,你的若是没有该目录,那么你首先需要先进行字体命令的安装,才可进行上述命令操作。

  4.3)修改confluence启动加载文件

  上述把所需字体放指容器后,还需要对confluence进行设置,使其启动时可以加载我们所需要的字体。

  编辑/opt/atlassian/confluence/bin/setenv.sh文件,在文件中加上下面一行: 

  CATALINA_OPTS="-Dconfluence.document.conversion.fontpath=/usr/share/fonts/chinese/ ${CATALINA_OPTS}"

  4.4)清空confluence缓存文件目录

  进入confluence数据目录:/var/atlassian/application-data/confluence

  删除viewfile目录和shared-home/dcl-document目录里的所有缓存文档文件

  注:如果你不进行此操作,预览旧文件时,还是会出现乱码,只有新上传文件预览才正常。

  然后重启容器,这即可解决附件中的文件预览时,中文乱码问题。

  

  

Docker 部署Confluence15.2的更多相关文章

  1. ASP.NET Core开发-Docker部署运行

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

  2. Docker部署Hadoop集群

    Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...

  3. 程序开发使用docker部署

    我们公司自己研发了一套 grand-line 系统,使用 docker 来部署项目. 我是第一批小白鼠,一开始网络差,build 一次要半个小时,连接进入 web shell 也很慢,部署一个微信项目 ...

  4. 我使用celery以及docker部署遇到的问题

    首先我本机测试时没有问题的,但是在线上docker中,任务一直显示 "Sending due task".超时的任务是 django orm update 操作,本地不会出现这样的 ...

  5. Docker部署SDN环境

    2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有 ...

  6. 在生产环境使用Docker部署应用

    导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产 ...

  7. Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈

    版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98 来源:腾云阁 https://www.qclou ...

  8. NET Core Docker部署

    NET Core Docker部署 前言 在前面文章中,介绍了 ASP.NET Core在 macOS,Linux 上基于Nginx和Jexus的发布和部署,本篇文章主要是如何在Docker容器中运行 ...

  9. 我使用 Docker 部署 Celery 遇到的问题

    问题1 - Sending due task 本机测试时没有问题的,但是在线上 docker 中,任务一直显示 "Sending due task".超时的任务是 Django O ...

随机推荐

  1. ES 08 - 创建、查看、修改、删除、关闭Elasticsearch的index

    目录 1 创建index(配置mapping[映射]) 2 查看index 3 修改index 4 删除index 5 打开/关闭index 6 常见问题及解决方法 index相当于RDBMS(关系型 ...

  2. 【链表问题】打卡9:将单链表的每K个节点之间逆序

    前言 以专题的形式更新刷题贴,欢迎跟我一起学习刷题,相信我,你的坚持,绝对会有意想不到的收获.每道题会提供简单的解答,如果你有更优雅的做法,欢迎提供指点,谢谢. 注:如果代码排版出现了问题麻烦通知我下 ...

  3. 安装Phalcon报错:gcc: Internal error: Killed (program cc1)

    起因 安装Phalcon可以参考github上面的README.md 下面是我在阿里云ECS服务器上面执行命令的过程: # 安装依赖 sudo yum install php-devel pcre-d ...

  4. 为什么要抛弃Pact?如何快速实现契约测试(CDC)

    前言 在前几天的博客中,我转载了一篇文章,其中介绍了契约测试和pact是怎么实施的,的确很有帮助.但我经过研究,其实是pact本身也是有缺陷的,结合我近期在使用的服务型工具和我的实际情况,觉得实现契约 ...

  5. 痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记 - 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是串口调试工具Jays-PyCOM诞生. 串口调试助手是嵌入式开发里非常常用的小工具,市面上有非常多流行的串口调试工具,比如TeraTe ...

  6. rabbitmq高级消息队列

    rabbitmq使用 什么是消息队列 消息(Message)是指在应用间传送的数据.消息可以非常简单,比如只包含文本字符串,也可以很复杂,可以包含嵌入对象. 消息队列是一种应用间的通信方式,消息发送后 ...

  7. 用VS2017进行移动开发(C#、VB.NET)——Progress控件,Smobiler移动开发

    Progress控件 一.          样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个Progress控件到窗体界面上 修改Pr ...

  8. 输入框中的空"",0,null的判断

    改了一个小项目,里面有一个小的问题他们是这样提需求的.两个输入框,第一个输入框里面,输入的内容会对第二个输入框中的内容产生影响.具体是这样的:如果第一个输入框中的值不是“0”,那么第二个输入框就不能填 ...

  9. HTML文档命名规则

    HTML文档是展示Web前段开发工程师成果的最好表示方式,为了便于文档规范化管理,在编写HTML文档时,必须遵循HTML文件命名规则. HTML文档命名规则如下: (1)文档的扩展名为htm或者htm ...

  10. Spring注入对象(3)

    2019-03-08/10:45:04 演示:对Product对象,注入一个Category对象 1.创建pojo类 Product类中有对Category对象的setter getter packa ...