どうも、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 のユーザ・パスワードでログイン可能です。
感想
今回、docker で influxDB の環境を構築してみました。
次は client から influxDB を操作してみたいと思います。
ではでは、また次回。