Linux

GrafanaをDockerで起動しようとするとcan’t create directoryというエラーが出て起動できない

環境

WSL2
Distributor ID: Ubuntu
Description: Ubuntu 20.04.5 LTS
Release: 20.04
Codename: focal

障害

docker-compose.yml内においてimage: grafana/grafanaで最新のgrafanaイメージを使ってDockerプロセスの起動をしようとしたところ、下記のエラーが発生してgrafanaを起動できない。

grafana   | GF_PATHS_DATA='/var/lib/grafana' is not writable.
grafana   | You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migrate-to-v51-or-later
grafana   | mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied

使用したdocker-compose.ymlは以下の通り

version: '3'
services:
  grafana:
    image: grafana/grafana
    container_name: grafana
    ports:
      - 8888:3000
    volumes:
      - ./grafana:/var/lib/grafana

解決方法

この問題は立ち上げたgrafanaのプロセスが自身の/var/lib/にアクセスする権限を持っていなかったことが問題だった。ついてはdocker-compose.yml内のgrafanaのuserを設定しました。

web上を見てみるとuser: “437”にするべきとか user: “1000”にするべきだという意見が散見されましたが、結局的に以下の解決策が一番いいのではないかと思います。
user: “$PID:$GID”

以下のリンクを参考にしました。
Mkdir: can’t create directory ‘/var/lib/grafana/plugins’: Permission denied · Issue #51931 · grafana/grafana
https://github.com/grafana/grafana/issues/51931

結果的にdocker-compose.ymlは以下のようになります。

version: '3'
services:
  grafana:
    image: grafana/grafana
    container_name: grafana
    ports:
      - 8888:3000
    volumes:
      - ./grafana:/var/lib/grafana
    user: "$PID:$GID"

以下のリンクにおいては、この問題はgrafanaイメージのバグではないという話がなされているのですが、そもそも起動しないという点においてgrafanaイメージの問題なんじゃないかと個人的には思うのですが、どうなんでしょう。

Mkdir: can’t create directory ‘/var/lib/grafana/plugins’: Permission denied – Grafana / Configuration – Grafana Labs Community Forums
https://community.grafana.com/t/mkdir-cant-create-directory-var-lib-grafana-plugins-permission-denied/68342

無事grafanaプロセスの起動を確認したのちに、dockerの中に入って$PIDと$GIDの中に実際に何が入っているかを確認しました。
結果として、$PIDには0が入っていて、$GIDは空でした。
なので、user: “$PID:$GID”user: “0:”としても機能します。

スポンサードサーチ

PHP7.4のインストール時に必要なパッケージ一覧前のページ

poetry add を使ってpsycopg2をインストールしようとするとエラー次のページ

最近の記事

Twitter

PAGE TOP