Grafana 是一個功能強大的開源數據可視化和監控工具,適合用於監控系統性能、分析業務數據或追蹤應用程式運行狀態等情境。在現代 DevOps 環境中,透過 Docker Compose 快速部署 Grafana,不僅可以簡化安裝過程,還能提高管理和擴展的靈活性。使用 Docker Compose 配置 Grafana 僅需撰寫一份簡單的 docker-compose.yml
檔案,即可定義所需的容器設定,例如網路模式、掛載資料卷、環境變數以及開放的服務埠。預設情況下,Grafana 的 Web 介面將運行於主機的 3000 埠,並使用指定的管理員帳號與密碼提供即時存取與管理。此外,透過持久化資料卷可以確保即使重啟容器,Grafana 的設定與數據依然完整保留。這種靈活且高效的部署方式,特別適合快速搭建測試或生產環境。接下來將介紹具體步驟,協助您快速上手 Grafana 的安裝。
🔗 GitHub 儲存庫:https://github.com/qwe987299/grafana
📝 docker-compose.yml
services:
grafana:
image: grafana/grafana-enterprise
container_name: grafana
restart: unless-stopped
network_mode: bridge
extra_hosts:
- "host.docker.internal:host-gateway"
ports:
- "3000:3000"
volumes:
- ./grafana:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=Password1234
上述配置定義了一個名為 grafana
的服務,採用官方的 grafana-enterprise
映像檔,提供企業級功能。容器名稱固定為 grafana
,並設定為在異常停止時自動重啟,確保服務穩定運行。該服務使用橋接模式 (bridge
) 連接網路,並透過 extra_hosts
將 Docker 容器內的 host.docker.internal
映射到宿主機,方便容器內部與宿主機進行交互。對外開放的 3000 埠映射到主機的相同埠號,讓使用者可以透過瀏覽器直接訪問 Grafana 的 Web 介面。為了實現持久化數據存儲,設定了本地目錄 ./grafana
與容器內的 /var/lib/grafana
進行掛載,確保儀表板配置及數據不會因容器重啟而丟失。同時,透過環境變數設定管理員帳號和密碼 (admin
與 Password1234
),提供簡便的初始安全設置。
📝 chown.sh
sudo chown -R 472:472 grafana
執行 sudo chown -R 472:472 grafana
是為了將本地資料夾 grafana 的所有權設定為 UID 和 GID 分別為 472 的使用者和群組。這是因為 Grafana 容器內的預設運行使用者,其 UID 和 GID 為 472。透過這樣的權限調整,可以確保容器內的 Grafana 寫入或讀取本地掛載資料夾時,不會因為權限不足而發生錯誤。此步驟特別重要,因為在 Docker 中使用資料卷掛載時,宿主機與容器的權限必須一致,否則可能導致 Grafana 的數據無法正常保存或讀取。執行後,您可以更安全地使用資料持久化功能,確保數據的完整性與穩定性。
▲ 為了方便快速建立環境,可以將本文提供的 Git 儲存庫 clone 到自訂的路徑,接著 cd grafana/
,執行 docker compose up -d
後緊接著執行 sh chown.sh
。這樣就能讓容器順利啟動。
▲ 透過 localhost:3000 進入 Grafana 網頁介面,輸入帳密,帳號為 admin,密碼這邊為 Password1234。
▲ 成功登入 Grafana 網頁介面,到此為止完成 Grafana 的完整安裝。
留言區 / Comments
萌芽論壇