IT技術で仕事を減らしたい!

ITエンジニアのメモ+α

Docker influxDB環境構築

どうも、nippa です。

今回は influxDB 環境を構築したいと思います。

influxDB は時系列データに特化したデータベースで、保存期間を指定できる特徴があります。

オープンソースで、コードは Go 書かれています。

オープンソース influx DB 1.8 系はサポートが 2021 年で終了しているのめ、今回は 2.0 系を利用します。

環境

  • macOS 12.6
  • influx DB 2.6

ディレクトリ構造

ディレクトリ構造は以下の通りです。

docker/[service]/dataに volume で共有するディレクトリを配置する設計になっています。

├── .env
├── docker
│   └── influxdb
│       ├── data
│       └── initdb.d
└── docker-compose.yaml

サービスのポート設定

ポート設定は以下の通りです。

サービス名 host ポート container ポート
influxdb 8086 8086

docker-compose file の作成

version: "3"

services:
  influxdb:
    image: influxdb:latest
    volumes:
      - ./docker/influxdb/data/influxdb2:/var/lib/influxdb2
      - ./docker/influxdb/data/config:/etc/influxdb2
    ports:
      - 8086:8086
    environment:
      - INFLUX_HOST=${INFLUX_URL}
      - DOCKER_INFLUXDB_INIT_MODE=setup
      - DOCKER_INFLUXDB_INIT_USERNAME=${INFLUXDB_USERNAME}
      - DOCKER_INFLUXDB_INIT_PASSWORD=${INFLUXDB_PASSWORD}
      - DOCKER_INFLUXDB_INIT_ORG=${INFLUXDB_ORG}
      - DOCKER_INFLUXDB_INIT_BUCKET=${INFLUXDB_BUCKET}
      - DOCKER_INFLUXDB_INIT_RETENTION=1w
      - DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=${INFLUXDB_TOKEN}

DOCKER_INFLUXDB_INIT_MODE=setupで指定すると、環境変数から初期設定が可能です。

DOCKER_INFLUXDB_INIT_RETENTIONでデータの保存期間を設定します。 今回は1週間で指定しています。

.env ファイルの作成

読み込み用の環境変数を.env ファイルに定義します。

INFLUX_URL="http://influxdb:8086"
INFLUXDB_USERNAME="admin"
INFLUXDB_PASSWORD="hogehogehoge"
INFLUXDB_ORG="myorg"
INFLUXDB_BUCKET="test"
INFLUXDB_RETENTION="1w"
INFLUXDB_ADMIN_TOKEN="myadmintoken"

dokcer の起動

docker compose up -d

influx DB

ブラウザでhttp://localhost:8086/にアクセスするとログイン画面が表示されます。

.env で設定した influxDB のユーザ・パスワードでログイン可能です。

influxdbログイン画面

感想

今回、docker で influxDB の環境を構築してみました。

次は client から influxDB を操作してみたいと思います。

ではでは、また次回。