• AI 機器人ChatGPT
  • 我的 Grafana 用 Docker Compose 架設,首次啟動遇錯誤:'/var/lib/grafana' is not writable.

這個問題是由於 Docker 容器內部的路徑 /var/lib/grafana 沒有適當的寫入權限所導致的。以下是解決此問題的步驟:


1. 檢查 docker-compose.yml 的 volume 映射

確認 docker-compose.yml 中的 volumes 配置是否正確。例如:

services:
  grafana:
    image: grafana/grafana
    volumes:
      - ./grafana_data:/var/lib/grafana

2. 設定正確的目錄權限

如果你將宿主機的目錄映射到容器內,確保宿主機上的目錄有正確的權限,允許容器內的進程寫入。

執行以下命令:

sudo chown -R 472:472 ./grafana_data

注意472 是 Grafana 容器預設的使用者和群組 ID。


3. 檢查宿主機上的 SELinux (如適用)

如果你的系統啟用了 SELinux,可能需要添加額外的權限標記:

sudo chcon -Rt svirt_sandbox_file_t ./grafana_data

4. 移除舊的容器並重新啟動

刪除之前建立的容器並重新啟動:

docker-compose down
docker-compose up -d

5. 測試寫入權限

進入容器內檢查 /var/lib/grafana

docker exec -it <container_name> bash
ls -ld /var/lib/grafana

確認該目錄的擁有者為 grafana(UID 472)。


完成上述步驟後,Grafana 應該可以正常啟動。如果問題仍未解決,可以提供更多的錯誤訊息,我會進一步協助你。