电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

使用Docker Compose搭建 Confluence的教程

瀏覽:127日期:2024-10-26 14:34:20

本文使用「署名 4.0 國際 (CC BY 4.0)」許可協議,歡迎轉載、或重新修改使用,但需要注明來源。 署名 4.0 國際 (CC BY 4.0)

本文作者: 蘇洋

創建時間: 2019年03月30日統計字數: 5170字閱讀時間: 11分鐘閱讀本文鏈接: https://soulteary.com/2019/03/30/construct-confluence-with-docker.html

使用 Docker 搭建 Confluence

小型團隊協同,或者想花錢買個省心,Confluence 是比較好的選擇之一。但是最近安裝 Confluence ,發現官方和網上的安裝介紹都比較“落后”低效,所以有了本篇內容。

本文將介紹如何使用 Docker Compose 快速搭建 Confluence 、以及如何和 Traefik 一同使用,如果你看過之前的內容,跟隨本文應該能在十分鐘內解決戰斗。

基礎準備 Docker Hub 上官方容器鏡像:https://hub.docker.com/r/atlassian/confluence-server/tags

這里會講解兩個有代表性的版本: 6.4 和 6.15

MySQL JDBC Connector : https://dev.mysql.com/downloads/connector/j/5.1.html

如果你也選擇使用 MySQL 作為儲存后端,需要下載此文件,一般情況下你會獲得 mysql-connector-java-5.1.47.tar.gz 的壓縮包,解壓縮之后,獲得 mysql-connector-java-5.1.47.jar,我們稍后會用到。

針對老版本軟件的使用

先說老版本,如果你只是需要基礎的 Wiki 功能,那么下面的配置文件應該能夠滿足你的需求。

version: ’3’services: confluence: image: atlassian/confluence-server:6.4.3-alpine expose: - 8090 - 8091 networks: - traefik labels: - 'traefik.enable=true' - 'traefik.port=8090' - 'traefik.frontend.rule=Host:${DOMAIN}' - 'traefik.frontend.entryPoints=http,https' volumes: - ./data:/var/atlassian/application-data/confluence - ./mysql-connector-java-5.1.47.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/mysql-connector-java-5.1.47.jarnetworks: traefik: external: true

將上面的文件保存為 docker-compose.yml 后,我們創建另外基礎配置文件 **.env **,和上面的配置一樣簡單,文件內容可以是下面這樣。

DOMAIN=wiki.lab.com

docker-compose.yml.envmysql-connector-java-5.1.47.jar 放在同一目錄,如果此刻你的 Traefik 已經就緒,那么執行 docker-compose up ,你的服務便啟動起來了。

直接訪問你配置好的域名,比如例子中的 wiki.lab.com,你就可以進行 Confluence 的 Web 界面配置啦。如果你還不會使用 Traefik ,那么可以翻閱歷史文章,同樣是一些十分鐘以內的教程。

如果你選擇將 Confluence 部署在公網,面對每天很是煩人的掃描器,不妨簡單添加 Basic Auth 認證,將這些惡意請求攔截在外面。

因為使用了 Traefik ,所以添加這個功能十分簡單,只需要兩步:

第一步,在 docker-compose.yml 的 labels 字段內添加下面的內容。

- 'traefik.frontend.auth.basic=${BASIC_AUTH}'

第二步,執行 htpasswd -nb user user,得到一段包含用戶名和加密后的密碼的文本字符串,譬如這樣:user:$apr1$MzgRxukq$MhYl/2JidzUNlHfyfIQF41,接著將內容添加到 .env 中:

BASIC_AUTH=user:$apr1$MzgRxukq$MhYl/2JidzUNlHfyfIQF41

當再有掃描器想直接對應用進行掃描的時候,就會被 Basic Auth 擋在外面啦。

應用健康檢查報錯

當你安裝完畢,開始使用的時候,會發現界面的右上角會提示一個警告信息。

Can’t check base URL

官方知識庫中有提到這個問題,如果你使用的也是低版本(6.6)之前,其實可以通過配置 Hosts 來解決問題。

比如在 docker-compose.yml 中添加一段聲明,讓應用服務器查找本機上應用地址,而非一定要訪問公網地址的應用,參考配置如下:

version: ’3’services: confluence: image: atlassian/confluence-server:6.4.3-alpine expose: - 8090 - 8091 networks: - traefik labels: - 'traefik.enable=true' - 'traefik.port=8090' - 'traefik.frontend.rule=Host:${DOMAIN}' - 'traefik.frontend.entryPoints=http,https' volumes: - ./data:/var/atlassian/application-data/confluence - ./mysql-connector-java-5.1.47.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/mysql-connector-java-5.1.47.jar extra_hosts: - '${DOMAIN}:127.0.0.1'networks: traefik: external: true

是不是十分簡單,如果你的需求是基礎使用,上述的配置應該已經能夠滿足你的需求了。

針對新版本軟件的使用

接著我們聊聊如何使用最新版本的軟件,因為我們使用了容器,所以更新版本十分簡單,在配置文件中修改鏡像的版本號就好了。比如,我想將 6.4.3 這個低版升級到其他版本,只需要將配置中的 6.4.3 改為 6.15.1 即可,例如 atlassian/confluence-server:6.15.1-alpine。

其他的基本和老版本軟件使用一致。不過這里會有幾個小問題,需要額外解決一下。

數據庫不能正確連接

WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

要解決這個問題,可以選擇配置加密的 MySQL 連接,并更新容器中的證書,也可以選擇添加參數,關閉強制使用加密連接請求,后者更簡單,如果要求不高,可以這么做。

編輯 data/confluence.cfg.xml 文件中的 hibernate.connection.url ,在連接地址后添加 ?useSSL=false 參數,重啟應用即可。

Traefik Basic Auth 和 Tomcat 發生聯動

新版本的軟件邏輯中,有針對請求中帶有 Basic Auth 進行額外處理:如果在上面配置了 Basic Auth ,那么應用會提示驗證失敗,不能登錄系統。

這個顯然不是我們添加 Basic Auth 的用意,并且實際使用中,也不推薦直接將 Confluence 的認證接口對外。

解決方案很簡單,在 docker-compose.yml 中添加一行 - 'traefik.frontend.auth.basic.removeHeader=true' ,Traefik 的驗證信息將僅針對 Traefik 使用,在反向代理應用的時候,HTTP 請求中的驗證信息會被刪除掉。

同樣的,重啟應用,這個問題就解決了。

稍微麻煩一些的健康檢查

因為我們使用 Traefik 掛載證書,應用實際運行在代理服務器背后,當使用管理員訪問控制臺,會看到一個警告信息。

您的 URL 不匹配

Confluence 的基本URL設置為http://wiki.lab.com,但您正從https://wiki.lab.com訪問 Confluence。

考慮應用的正常使用,我們通常會將協議進行修正,比如將站點基礎URL修正為 https 。但是在修正之后,你會收到另外一個警告。

Tomcat 配置不正確

Tomcat server.xml 配置不正確:scheme 應為 ‘https’proxyName 應為 ‘YOUR_DOMAIN_URI’proxyPort 應為 ‘443’

原因是比較新的版本的應用,健康檢查邏輯附帶了端口和協議判斷,低版本可以直接使用 Traefik 反代掛載證書的幸福快樂日子一去不復返。

解決問題需要分為三步。

第一步,將容器內的 Tomcat 運行配置 server.xml 拷貝到本地(da5582a01879 為 docker ps 獲取的容器PID)。

docker cp da5582a01879:/opt/atlassian/confluence/conf/server.xml .

第二步,將配置中端口為 8090 的 Connector 的配置更新為下面的內容(尤其注意最后一行內容):

<Connector port='8090' connectionTimeout='20000' redirectPort='8443' maxThreads='48' minSpareThreads='10' enableLookups='false' acceptCount='10' debug='0' URIEncoding='UTF-8' protocol='org.apache.coyote.http11.Http11NioProtocol' proxyName='wiki.lab.com' proxyPort='443' scheme='https'/>

第三步,更新 docker-compose.yml 配置文件。

在 volumes 字段中添加內容:

- ./server.xml:/opt/atlassian/confluence/conf/server.xml

同時刪除 extra_hosts 字段內容。

重啟應用,一切正常。

完整的配置文件

為了方便使用,這里給出完整的參考配置。

version: ’3’services: confluence: image: atlassian/confluence-server:6.15.1-alpine expose: - 8090 - 8091 networks: - traefik labels: - 'traefik.enable=true' - 'traefik.port=8090' - 'traefik.frontend.rule=Host:${DOMAIN}' - 'traefik.frontend.entryPoints=http,https' - 'traefik.frontend.auth.basic.removeHeader=true' - 'traefik.frontend.auth.basic=${BASIC_AUTH}' volumes: - ./data:/var/atlassian/application-data/confluence - ./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.xmlnetworks: traefik: external: true最后

雖然對于團隊來說 Confluence 是一個不錯的方案,但是實際針對個人/擁有定制能力的團隊而言,使用完全開源免費的 WordPress 或許會更好,下一篇我將介紹 WordPress 用作知識管理用途的一些定制處理。

以上就是使用 Docker 搭建 Confluence的詳細內容,更多關于Docker 搭建 Confluence的資料請關注好吧啦網其它相關文章!

標簽: Docker
相關文章:
主站蜘蛛池模板: 国资灵活用工平台_全国灵活用工平台前十名-灵活用工结算小帮手 | 钣金加工厂家-钣金加工-佛山钣金厂-月汇好 | 南溪在线-南溪招聘找工作、找房子、找对象,南溪综合生活信息门户! | 碎石机设备-欧版反击破-欧版颚式破碎机(站)厂家_山东奥凯诺机械 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | Q361F全焊接球阀,200X减压稳压阀,ZJHP气动单座调节阀-上海戎钛 | 冷凝锅炉_燃气锅炉_工业燃气锅炉改造厂家-北京科诺锅炉 | 航空连接器,航空插头,航空插座,航空接插件,航插_深圳鸿万科 | 事迹材料_个人事迹名人励志故事| 彩超机-黑白B超机-便携兽用B超机-多普勒彩超机价格「大为彩超」厂家 | 钣金加工厂家-钣金加工-佛山钣金厂-月汇好 | 冷热冲击试验箱_温度冲击试验箱价格_冷热冲击箱排名_林频厂家 | 中矗模型-深圳中矗模型设计有限公司 | 油液红外光谱仪-油液监测系统-燃油嗅探仪-上海冉超光电科技有限公司 | 澳洁干洗店加盟-洗衣店干洗连锁「澳洁干洗免费一对一贴心服务」 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 氧化铝球_高铝球_氧化铝研磨球-淄博誉洁陶瓷新材料有限公司 | 四川职高信息网-初高中、大专、职业技术学校招生信息网 | 厂房出售_厂房仓库出租_写字楼招租_土地出售-中苣招商网-中苣招商网 | 布袋式除尘器|木工除尘器|螺旋输送机|斗式提升机|刮板输送机|除尘器配件-泊头市德佳环保设备 | 北京亦庄厂房出租_经开区产业园招商信息平台 | 泰国专线_泰国物流专线_广州到泰国物流公司-泰廊曼国际 | 电脑知识|软件|系统|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网 | 定坤静电科技静电消除器厂家-除静电设备| ?水马注水围挡_塑料注水围挡_防撞桶-常州瑞轩水马注水围挡有限公司 | 电动车头盔厂家_赠品头盔_安全帽批发_山东摩托车头盔—临沂承福头盔 | 液压中心架,数控中心架,自定心中心架-烟台恒阳机电设计有限公司 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 深圳宣传片制作_产品视频制作_深圳3D动画制作公司_深圳短视频拍摄-深圳市西典映画传媒有限公司 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 淘趣英语网 - 在线英语学习,零基础英语学习网站 | 退火炉,燃气退火炉,燃气热处理炉生产厂家-丹阳市丰泰工业炉有限公司 | 开锐教育-学历提升-职称评定-职业资格培训-积分入户 | 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | 镀锌角钢_槽钢_扁钢_圆钢_方矩管厂家_镀锌花纹板-海邦钢铁(天津)有限公司 | 气密性检测仪_气密性检测设备_防水测试仪_密封测试仪-岳信仪器 | 全自动不干胶贴标机_套标机-上海今昂贴标机生产厂家 | BOE画框屏-触摸一体机-触控查询一体机-触摸屏一体机价格-厂家直销-触发电子 | 微型气象仪_气象传感器_防爆气象传感器-天合传感器大全 | _网名词典_网名大全_qq网名_情侣网名_个性网名 | 新密高铝耐火砖,轻质保温砖价格,浇注料厂家直销-郑州荣盛窑炉耐火材料有限公司 | Copeland/谷轮压缩机,谷轮半封闭压缩机,谷轮涡旋压缩机,型号规格,技术参数,尺寸图片,价格经销商 CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 餐饮加盟网_特色餐饮加盟店_餐饮连锁店加盟 | 塑料撕碎机_编织袋撕碎机_废纸撕碎机_生活垃圾撕碎机_废铁破碎机_河南鑫世昌机械制造有限公司 |