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

本文涉及的产品
云数据库 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'
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
存储 Cloud Native 文件存储
云原生之使用Docker部署home-page个人导航页
【5月更文挑战第4天】云原生之使用Docker部署home-page个人导航页
15 1
|
10天前
|
关系型数据库 MySQL Shell
4.Docker 应用部署
4.Docker 应用部署
|
1天前
|
监控 Cloud Native 测试技术
云原生之使用Docker部署ServerBee服务器监控工具
【5月更文挑战第6天】云原生之使用Docker部署ServerBee服务器监控工具
10 1
|
2天前
|
前端开发 应用服务中间件 nginx
前后端分离项目Docker部署指南(下)
前后端分离项目Docker部署指南(下)
|
2天前
|
NoSQL 关系型数据库 网络安全
前后端分离项目Docker部署指南(上)
前后端分离项目Docker部署指南(上)
|
2天前
|
开发框架 安全 网络安全
【Docker 专栏】Docker 多平台应用构建与部署
【5月更文挑战第8天】Docker作为一种关键的容器化技术,简化了多平台应用的构建与部署。它提供一致的运行环境,确保应用在不同平台无缝运行;通过分层构建机制加速镜像创建,提升开发效率。Docker的可移植性、高效部署及资源利用率是其主要优势。流程包括开发环境准备、构建镜像、测试验证及部署。然而,面临操作系统差异、网络安全和资源限制等挑战,需注意安全、版本管理和性能优化。Docker在多平台场景的应用将持续发挥价值。
【Docker 专栏】Docker 多平台应用构建与部署
|
3天前
|
存储 关系型数据库 Linux
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
26 4
|
3天前
|
数据可视化 Linux Docker
如何使用Docker部署Dashy并无公网ip远程访问管理界面
如何使用Docker部署Dashy并无公网ip远程访问管理界面
5 0
|
3天前
|
NoSQL Unix MongoDB
【docker 】docker-compose 部署mongoDB
【docker 】docker-compose 部署mongoDB
10 1
|
3天前
|
NoSQL MongoDB 数据库
docker部署mongoDB
docker部署mongoDB
7 0