Confluence 容器化使用拾遺

蘇洋發表於2019-04-04

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

本文作者: 蘇洋

建立時間: 2019年04月05日 統計字數: 1946字 閱讀時間: 4分鐘閱讀 本文連結: soulteary.com/2019/04/05/…


Confluence 使用拾遺

前一篇 內容介紹瞭如何快速使用容器搭建 **Confluence **,在一週的實際使用之後,我們發現了一些小問題,本篇將作為之前內容的補充。

如何修正應用時區

應用啟動之後,你將看到時區預設是:GMT +0 ,這顯然不符合我們的需求。

要解決這個問題,可以通過掛載宿主機 /etc/localtime 到容器內,並在JVM變數中新增 -Duser.timezone=GMT+08 引數。

同時在掛載的時候要注意,為了避免容器內部應用修改 /etc/localtime ,檔案需要設定為只讀。

上面操作看起來很麻煩,但是實際上配置程式碼很簡單,比如這樣:

environment:
  - 'CATALINA_OPTS= -Duser.timezone=GMT+08'
volumes:
  - /etc/localtime:/etc/localtime:ro
複製程式碼

修改可用記憶體資源

當使用人數比較少、內容也比較少的時候,執行 Confluence 並不會出現什麼異常。但是當內容多了、或者使用者數多了之後,Confluence 會出現一些效能問題,比如卡頓。

此時,可以通過增加可用記憶體資源來解決這個問題。官方預設數值都是 1024m,修改配置的時候,需要我們根據實際情況進行調節:

  • 比如我有一臺 4C8G 的主機,考慮到系統程式、運維軟體、容器服務的消耗,我選擇給予 Confluence 6GB 記憶體的上限,而下限和預設保持一致就好。

舉個例子,下面這段配置賦予程式可用記憶體範圍就是 1G6G

environment:
  - 'JVM_MINIMUM_MEMORY=1024m'
  - 'JVM_MAXIMUM_MEMORY=6144m'
複製程式碼

關閉資料分析收集

官方有預設開啟資料分析功能,會將你的使用者行為(不含資料),傳送至廠商資料分析平臺。

常規的關閉方式是使用管理員賬號,選擇“禁用”按鈕,但是如果你發現禁用不靈,可以通過介面呼叫手動關閉分析服務。

在容器內部執行下面的命令(假設超級管理員賬號和密碼都是 admin):

curl -vvv -H "Content-Type:application/json" -H "Accept:application/json" --user admin:admin -X PUT -d '{"analyticsEnabled": "false"}' http://localhost:8090/rest/analytics/1.0/config/enable
複製程式碼

完整配置

最後,將上述修正綜合一下,完整的配置檔案如下:

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}"
    environment:
      - 'CATALINA_OPTS= -Duser.timezone=GMT+08'
      - 'JVM_MINIMUM_MEMORY=1024m'
      - 'JVM_MAXIMUM_MEMORY=6144m'
    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
      - /etc/localtime:/etc/localtime:ro

networks:
  traefik:
    external: true
複製程式碼

最後

額外說一句,官方容器映象的文件真的是一塌糊塗。不過功能設計是真的好用,特別適合定製化需求不強烈的初創公司/團隊使用。


我現在有一個小小的折騰群,裡面聚集了一些喜歡折騰的小夥伴。

在不發廣告的情況下,我們在裡面會一起聊聊軟體、HomeLab、程式設計上的一些問題,也會在群裡不定期的分享一些技術沙龍的資料。

喜歡折騰的小夥伴歡迎掃碼新增好友。(請註明來源和目的,否則不會通過稽核)

關於折騰群入群的那些事

相關文章