亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用Docker Compose搭建 Confluence的教程

 更新時(shí)間:2021年06月11日 11:48:17   作者:soulteary  
本文將介紹如何使用 Docker Compose 快速搭建 Confluence 、以及如何和 Traefik 一同使用,如果你看過(guò)之前的內(nèi)容,跟隨本文應(yīng)該能在十分鐘內(nèi)解決戰(zhàn)斗,感興趣的朋友快來(lái)看看吧

本文使用「署名 4.0 國(guó)際 (CC BY 4.0)」許可協(xié)議,歡迎轉(zhuǎn)載、或重新修改使用,但需要注明來(lái)源。 署名 4.0 國(guó)際 (CC BY 4.0)

本文作者: 蘇洋

創(chuàng)建時(shí)間: 2019年03月30日
統(tǒng)計(jì)字?jǐn)?shù): 5170字
閱讀時(shí)間: 11分鐘閱讀
本文鏈接: https://soulteary.com/2019/03/30/construct-confluence-with-docker.html


使用 Docker 搭建 Confluence

小型團(tuán)隊(duì)協(xié)同,或者想花錢買個(gè)省心,Confluence 是比較好的選擇之一。但是最近安裝 Confluence ,發(fā)現(xiàn)官方和網(wǎng)上的安裝介紹都比較“落后”低效,所以有了本篇內(nèi)容。

本文將介紹如何使用 Docker Compose 快速搭建 Confluence 、以及如何和 Traefik 一同使用,如果你看過(guò)之前的內(nèi)容,跟隨本文應(yīng)該能在十分鐘內(nèi)解決戰(zhàn)斗。

基礎(chǔ)準(zhǔn)備

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

這里會(huì)講解兩個(gè)有代表性的版本: 6.46.15

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

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

針對(duì)老版本軟件的使用

先說(shuō)老版本,如果你只是需要基礎(chǔ)的 Wiki 功能,那么下面的配置文件應(yīng)該能夠滿足你的需求。

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

networks:
  traefik:
    external: true

將上面的文件保存為 docker-compose.yml 后,我們創(chuàng)建另外基礎(chǔ)配置文件 **.env **,和上面的配置一樣簡(jiǎn)單,文件內(nèi)容可以是下面這樣。

DOMAIN=wiki.lab.com

docker-compose.yml 、.envmysql-connector-java-5.1.47.jar 放在同一目錄,如果此刻你的 Traefik 已經(jīng)就緒,那么執(zhí)行 docker-compose up ,你的服務(wù)便啟動(dòng)起來(lái)了。

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

如果你選擇將 Confluence 部署在公網(wǎng),面對(duì)每天很是煩人的掃描器,不妨簡(jiǎn)單添加 Basic Auth 認(rèn)證,將這些惡意請(qǐng)求攔截在外面。

因?yàn)槭褂昧?Traefik ,所以添加這個(gè)功能十分簡(jiǎn)單,只需要兩步:

第一步,在 docker-compose.ymllabels 字段內(nèi)添加下面的內(nèi)容。

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

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

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

當(dāng)再有掃描器想直接對(duì)應(yīng)用進(jìn)行掃描的時(shí)候,就會(huì)被 Basic Auth 擋在外面啦。

應(yīng)用健康檢查報(bào)錯(cuò)

當(dāng)你安裝完畢,開(kāi)始使用的時(shí)候,會(huì)發(fā)現(xiàn)界面的右上角會(huì)提示一個(gè)警告信息。

Can't check base URL

官方知識(shí)庫(kù)中有提到這個(gè)問(wèn)題,如果你使用的也是低版本(6.6)之前,其實(shí)可以通過(guò)配置 Hosts 來(lái)解決問(wèn)題。

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

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

是不是十分簡(jiǎn)單,如果你的需求是基礎(chǔ)使用,上述的配置應(yīng)該已經(jīng)能夠滿足你的需求了。

針對(duì)新版本軟件的使用

接著我們聊聊如何使用最新版本的軟件,因?yàn)槲覀兪褂昧巳萜鳎愿掳姹臼趾?jiǎn)單,在配置文件中修改鏡像的版本號(hào)就好了。比如,我想將 6.4.3 這個(gè)低版升級(jí)到其他版本,只需要將配置中的 6.4.3 改為 6.15.1 即可,例如 atlassian/confluence-server:6.15.1-alpine

其他的基本和老版本軟件使用一致。不過(guò)這里會(huì)有幾個(gè)小問(wèn)題,需要額外解決一下。

數(shù)據(jù)庫(kù)不能正確連接

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.

要解決這個(gè)問(wèn)題,可以選擇配置加密的 MySQL 連接,并更新容器中的證書,也可以選擇添加參數(shù),關(guān)閉強(qiáng)制使用加密連接請(qǐng)求,后者更簡(jiǎn)單,如果要求不高,可以這么做。

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

Traefik Basic Auth 和 Tomcat 發(fā)生聯(lián)動(dòng)

新版本的軟件邏輯中,有針對(duì)請(qǐng)求中帶有 Basic Auth 進(jìn)行額外處理:如果在上面配置了 Basic Auth ,那么應(yīng)用會(huì)提示驗(yàn)證失敗,不能登錄系統(tǒng)。

這個(gè)顯然不是我們添加 Basic Auth 的用意,并且實(shí)際使用中,也不推薦直接將 Confluence 的認(rèn)證接口對(duì)外。

解決方案很簡(jiǎn)單,在 docker-compose.yml 中添加一行 - "traefik.frontend.auth.basic.removeHeader=true" ,Traefik 的驗(yàn)證信息將僅針對(duì) Traefik 使用,在反向代理應(yīng)用的時(shí)候,HTTP 請(qǐng)求中的驗(yàn)證信息會(huì)被刪除掉。

同樣的,重啟應(yīng)用,這個(gè)問(wèn)題就解決了。

稍微麻煩一些的健康檢查

因?yàn)槲覀兪褂?Traefik 掛載證書,應(yīng)用實(shí)際運(yùn)行在代理服務(wù)器背后,當(dāng)使用管理員訪問(wèn)控制臺(tái),會(huì)看到一個(gè)警告信息。

您的 URL 不匹配

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

考慮應(yīng)用的正常使用,我們通常會(huì)將協(xié)議進(jìn)行修正,比如將站點(diǎn)基礎(chǔ)URL修正為 https 。但是在修正之后,你會(huì)收到另外一個(gè)警告。

Tomcat 配置不正確

Tomcat server.xml 配置不正確:
scheme 應(yīng)為 ‘https'
proxyName 應(yīng)為 ‘YOUR_DOMAIN_URI'
proxyPort 應(yīng)為 ‘443'

原因是比較新的版本的應(yīng)用,健康檢查邏輯附帶了端口和協(xié)議判斷,低版本可以直接使用 Traefik 反代掛載證書的幸??鞓?lè)日子一去不復(fù)返。

解決問(wèn)題需要分為三步。

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

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

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

<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 字段中添加內(nèi)容:

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

同時(shí)刪除 extra_hosts 字段內(nèi)容。

重啟應(yīng)用,一切正常。

完整的配置文件

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

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.xml


networks:
  traefik:
    external: true

最后

雖然對(duì)于團(tuán)隊(duì)來(lái)說(shuō) Confluence 是一個(gè)不錯(cuò)的方案,但是實(shí)際針對(duì)個(gè)人/擁有定制能力的團(tuán)隊(duì)而言,使用完全開(kāi)源免費(fèi)的 WordPress 或許會(huì)更好,下一篇我將介紹 WordPress 用作知識(shí)管理用途的一些定制處理。

以上就是使用 Docker 搭建 Confluence的詳細(xì)內(nèi)容,更多關(guān)于Docker 搭建 Confluence的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Docker快速部署主流腳本語(yǔ)言JavaScript的全過(guò)程

    Docker快速部署主流腳本語(yǔ)言JavaScript的全過(guò)程

    JavaScript是目前所有主流瀏覽器上唯一支持的腳本語(yǔ)言,這也是早期JavaScript的唯一用途,下面這篇文章主要給大家介紹了關(guān)于Docker快速部署主流腳本語(yǔ)言JavaScript的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • 二進(jìn)制部署docker的超詳細(xì)教程

    二進(jìn)制部署docker的超詳細(xì)教程

    部署環(huán)境并不會(huì)一直順利,有些時(shí)候因?yàn)闀r(shí)內(nèi)網(wǎng)環(huán)境,無(wú)法使用yum等情況,對(duì)于一些中間件的部署缺少依賴,我們可以使用二進(jìn)制包的形式部署docker,這篇文章主要給大家介紹了關(guān)于二進(jìn)制部署docker的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • Docker run流程及鏡像的基本命令詳解

    Docker run流程及鏡像的基本命令詳解

    本文主要介紹了Docker中run流程及鏡像的基本命令,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 遷移變更Docker默認(rèn)數(shù)據(jù)存儲(chǔ)目錄的步驟詳解

    遷移變更Docker默認(rèn)數(shù)據(jù)存儲(chǔ)目錄的步驟詳解

    Docker安裝的默認(rèn)數(shù)據(jù)目錄為/var/lib/docker,但是如果/目錄掛載的磁盤空間不夠,就需要遷移docker數(shù)據(jù)到其他目錄,接下來(lái)本就給大家介紹遷移變更Docker默認(rèn)數(shù)據(jù)存儲(chǔ)目錄的操作步驟,需要的朋友可以參考下
    2023-12-12
  • 什么是Docker? Docker入門教程

    什么是Docker? Docker入門教程

    本文主要涉及Docker的基礎(chǔ)知識(shí):Docker的概述、docker容器以及如何安裝使用Docker。希望大家能夠喜歡
    2017-03-03
  • docker搭建devops(騰訊云輕量應(yīng)用服務(wù)器)教程

    docker搭建devops(騰訊云輕量應(yīng)用服務(wù)器)教程

    這篇文章主要為大家介紹了docker搭建devops(騰訊云輕量應(yīng)用服務(wù)器)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Docker安裝MySQL鏡像實(shí)戰(zhàn)分享

    Docker安裝MySQL鏡像實(shí)戰(zhàn)分享

    這篇文章主要給大家分享了Docker安裝MySQL鏡像實(shí)戰(zhàn),讓大家更深入的了解容器的使用場(chǎng)景,文章通過(guò)圖文結(jié)合的方式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • docker用root進(jìn)入容器的操作

    docker用root進(jìn)入容器的操作

    這篇文章主要介紹了docker用root進(jìn)入容器的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Docker stop停止/remove刪除所有容器

    Docker stop停止/remove刪除所有容器

    這篇文章主要介紹了Docker stop停止/remove刪除所有容器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 教你如何從正在運(yùn)行的容器創(chuàng)建?Docker?映像

    教你如何從正在運(yùn)行的容器創(chuàng)建?Docker?映像

    這篇文章主要介紹了如何從正在運(yùn)行的容器創(chuàng)建?Docker?映像,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02

最新評(píng)論