0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Debian + Dockerで InfluxDB 3 Core を構築する際の「権限」と「引数」のハマりどころ解決策

0
Posted at

はじめに
次世代エンジン「IOx」を搭載した InfluxDB 3 Core を、Debian上のDocker環境で構築しました。
公式ドキュメント通りに進めても、ディレクトリのパーミッションや起動引数の仕様変更でコンテナがリスタートを繰り返す場面があったため、完動する docker-compose.yml と初期設定手順をまとめます。

  1. ハマったポイント
    構築中、主に以下の2点でコンテナが Restarting を繰り返しました。

ディレクトリの権限エラー (Permission Denied)

ログ内容: failed to persist catalog checkpoint file ... Permission denied

原因: ホスト側のディレクトリをマウントする際、コンテナ内部のユーザー権限と不整合が起き、カタログファイルの作成に失敗する。

必須引数の不足

ログ内容: error: the following required arguments were not provided: --node-id

原因: 環境変数だけでは不十分で、実行時に --node-id などの引数を明示的に渡す必要がある。

  1. 解決済みの docker-compose.yml
    権限問題を回避するため、名前付きボリューム(Named Volume)と user: root を採用した構成です。
docker-compose.yml
services:
  influxdb3:
    image: influxdb:3-core
    container_name: influxdb3-core
    # 権限問題を強制解決するためrootで実行
    user: root
    ports:
      - "8181:8181"
    environment:
      - INFLUXDB3_LOG_FILTER=info
    # 必須引数をcommandで明示的に指定
    command: [
      "influxdb3", 
      "serve", 
      "--node-id=0", 
      "--object-store=file", 
      "--data-dir=/var/lib/influxdb3/data"
    ]
    volumes:
      - influx_storage:/var/lib/influxdb3/data
    restart: unless-stopped

  explorer:
    image: influxdata/influxdb3-ui:latest
    container_name: influxdb3-explorer
    ports:
      - "8888:8080"
    environment:
      - SESSION_SECRET_KEY=your-random-secret-key
      - DEFAULT_INFLUX_SERVER=http://influxdb3:8181
    depends_on:
      - influxdb3
    restart: unless-stopped

volumes:
  influx_storage:
  1. 起動後の初期セットアップ
    コンテナが起動しただけでは、まだデータの受け皿がありません。以下の手順でトークンとDBを作成します。

① 管理用トークンの生成

docker exec -it influxdb3-core influxdb3 create token --admin

ここで表示されるトークンをコピーしておきます。

② データベースの作成

docker exec -it influxdb3-core influxdb3 create database my_database --token <さきほど生成したトークン>
  1. UI (Explorer) への接続
    ブラウザで http://<サーバーのIP>:8888 にアクセス。

Server URL: http://localhost:8181

Token: 先ほど生成した Admin Token
これを入力することで、データのクエリや可視化がブラウザ上で行えるようになります。

まとめ
InfluxDB 3 Core は、従来の v2 までとはコンテナ起動時の挙動が一部異なります。
特に「ホストマウントの権限」と「起動引数の明示」に気をつければ、非常に高速で強力な時系列データベース環境を Docker で手軽に手に入れることができます。

おわりに
もしこれでも動かない場合は、一度 docker compose down -v でボリュームを完全に消去してから再試行してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?