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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
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
相关文章
|
1月前
|
运维 网络安全 持续交付
IDEA+Docker 远程一键部署项目:技术干货分享
【10月更文挑战第4天】在现代软件开发中,快速、可靠、自动化的部署流程是提升开发效率和运维质量的关键。IDEA(IntelliJ IDEA)作为Java开发者首选的IDE,结合Docker这一轻量级容器化技术,能够实现远程一键部署项目,极大地简化了开发到生产的流程。今天,我将和大家分享这一组合在工作学习中的实际应用和技术干货。
216 3
|
6天前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
54 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
17天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
56 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
7天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
7天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
17 1
|
1月前
|
Web App开发 前端开发 测试技术
【Docker项目实战】使用docker部署tabler后台模版
【10月更文挑战第10天】使用docker部署tabler后台模版
35 1
【Docker项目实战】使用docker部署tabler后台模版
|
1月前
|
JSON JavaScript 测试技术
【Docker项目实战】使用Docker部署PPTist在线演示文稿应用
【10月更文挑战第9天】使用Docker部署PPTist在线演示文稿应用
36 1
【Docker项目实战】使用Docker部署PPTist在线演示文稿应用
|
1月前
|
消息中间件 编解码 Docker
【Docker项目实战】Docker部署RabbitMQ消息中间件
【10月更文挑战第8天】Docker部署RabbitMQ消息中间件
83 1
【Docker项目实战】Docker部署RabbitMQ消息中间件
|
1月前
|
存储 前端开发 测试技术
【Docker项目实战】使用Docker部署Calcium网页计算器
【10月更文挑战第7天】使用Docker部署Calcium网页计算器
30 1
【Docker项目实战】使用Docker部署Calcium网页计算器
|
1月前
|
存储 测试技术 Linux
【Docker项目实战】使用Docker部署Radicale日历和联系人应用
【10月更文挑战第4天】使用Docker部署Radicale日历和联系人应用
131 2
【Docker项目实战】使用Docker部署Radicale日历和联系人应用