使用docker-compose部署confluence,自己的wiki

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 使用docker-compose部署confluence,自己的wiki

一、搭建过程

1.1 基础准备

1.1.1 拉取docker镜像,我们选择的版本是 6.15.1-alpine

mkdir  ./confluence
cd ./confluence
docker  pull  atlassian/confluence-server:6.15.1-alpine

1.1.2 准备好mysql的驱动,我们使用的mysql版本是5.7

wget  https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar

# mysql8.0.20驱动: wget  https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.20/mysql-connector-java-8.0.20.jar

1.1.3 准备好docker-compose.yml

version: '3'
services:
  confluence:
    image: atlassian/confluence-server:6.15.1-alpine
    container_name: confluence
    restart: always
    ports:
      - 8090:8090
      - 8091:8091
    networks:
      - traefik
    volumes:
      - ./data:/var/atlassian/application-data/confluence   # 主目录
      # - ./atlassian-extras-decoder-v2-3.4.1.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar # 如果你有已经坡姐后的jar包,这里直接挂在进去即可启动
      - ./mysql-connector-java-5.1.47.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/mysql-connector-java-5.1.47.jar
      # - ./server.xml:/opt/atlassian/confluence/conf/server.xml
networks:
  traefik:
    external: true

1.1.4 在准备好的 msyql 中创建数据库

-- drop database confluence;
create database confluence DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

1.1.5 下载好工具

# 下载链接: 
http://image1.baishapuu.com/confluence破解工具.zip

1.2 部署

1.2.1 启动

# 创建网卡
docker network create traefik
# 启动
docker-compose  up  -d 
# 查看日志
docker logs -tf --tail 300 confluence
# 访问地址:  yourIp:8090

1.2.2 复制出 atlassian 的 jar 包

docker cp  confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar  ./atlassian-extras-2.4.jar
  • 注意复制出来的文件名必须为 atlassian-extras-2.4.jar,因为工具中指定了此文件名;

1.2.3 运行工具,如图:

在这里插入图片描述

  • 成功后,会在原目录下出现atlassian-extras-2.4.back 备份文件,并生成了一个新的处理后的 atlassian-extras-2.4.jar

1.2.4 复制处理后的jar包回容器中

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

1.2.5 剩下的按照页面提示一步一步设置即可

注意:mysql连接时,需要设置事务隔离级别 READ-COMMITTED

参考链接:https://confluence.atlassian.com/confkb/confluence-fails-to-start-and-throws-mysql-session-isolation-level-repeatable-read-is-no-longer-supported-error-241568536.html

# mysql 5
jdbc:mysql://172.16.244.49:3306/confluence?useSSL=false&sessionVariables=tx_isolation='READ-COMMITTED'

二、数据备份与迁移

2.1 参考链接:

https://www.cwiki.us/display/CONF6EN/Migrating+Confluence+Between+Servers#space-menu-link-content

https://confluence.atlassian.com/conf615/migrating-confluence-between-servers-967338806.html

# 我的迁移过程
1、备份mysql数据库;
2、备份mysql驱动;
3、备份主目录(本文档安装的挂载目录 “- ./data:/var/atlassian/application-data/confluence”)
4、备份server.xml(容器目录: /opt/atlassian/confluence/conf/server.xml)
5、在新机器上准备好安装过程需要的东西,以及备份的东西拿过去准备覆盖;
6、如果需要迁移数据库,可以直接修改配置文件:<confluence.home>/confluence.cfg.xml
  • 迁移后,日志显示启动成功,但页面任然无法访问,此过程大概需要几分钟左右

2.2 关闭confluence自带每日备份任务

在这里插入图片描述

2.3 手动备份脚本 + crontab定时任务

备份数据库,主目录挂载出来即可;

三、导出PDF

注意:confluence导出PDF仅支持一种字体,且需要自己手动上传安装;(可以从系统目录C:\Windows\Fonts 中复制出来)

在这里插入图片描述

四、配置邮件服务器

参考链接:https://qinjiangbo.com/mail-server-configuration-of-confluence.html

说明:25、465端口不行,再试试587端口也是可以的

五、版本升级

Confluence7 + Mysql8:

CREATE DATABASE xxxxxxConfluence CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

# 隔离级别的设置, mysql 8 的区别:
sessionVariables=transaction_isolation='READ-COMMITTED'
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9天前
|
消息中间件 编解码 Docker
Docker部署RabbitMQ消息中间件
【7月更文挑战第4天】Docker部署RabbitMQ消息中间件
43 3
|
7天前
|
存储 Java Docker
使用Docker部署Java应用的最佳实践
使用Docker部署Java应用的最佳实践
|
7天前
|
存储 Java Docker
使用Docker部署Java应用的最佳实践
使用Docker部署Java应用的最佳实践
|
7天前
|
存储 移动开发 程序员
Docker部署Dillinger个人文本编辑器
【7月更文挑战第6天】Docker部署Dillinger个人文本编辑器
20 1
|
12天前
|
消息中间件 数据可视化 RocketMQ
【RocketMQ系列二】通过docker部署单机RocketMQ
【RocketMQ系列二】通过docker部署单机RocketMQ
42 4
|
9天前
|
存储 开发者 Docker
|
14天前
|
Nacos 数据中心 Docker
Docker 部署 Nacos 集群
Docker 部署 Nacos 集群
|
23天前
|
测试技术 Linux 网络安全
【Docker项目实战】使用Docker部署RSS阅读器yarr
【6月更文挑战第22天】使用Docker部署RSS阅读器yarr
30 3
|
23天前
|
Docker 容器
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格(二)
使用Docker部署的WPS Office服务可以通过内网穿透工具Cpolar实现远程访问。首先,创建一个名为“wps office”的隧道,选择HTTP协议和3000端口,分配免费的随机域名,并指定中国地区。然后,通过Cpolar的管理界面获取HTTP公网地址,用以远程访问WPS Office。由于随机域名会变化,可以升级Cpolar套餐并保留一个二级子域名,确保长期稳定的远程访问。配置子域名后,更新隧道设置,完成固定公网地址的绑定,从而实现随时随地通过固定地址访问WPS Office。
|
5天前
|
Java 应用服务中间件 持续交付
Java面试题:简述Docker等容器化技术的原理及其在Java应用部署中的作用。
Java面试题:简述Docker等容器化技术的原理及其在Java应用部署中的作用。
11 0