現在 メキシコ ノマド 中!!

docker-composeでinfluxdbを構築する

この記事はこんな人におすすめ
  • Dockerを利用してinfluxdbを構築したい

目次

ファイル構成

コンソール
docker
  .env
  config
    config.yml
  data
  docker-compose.yaml
  • docker/config/config.yml: influxdbの設定ファイル

.envファイルの作成

docker-composeのプロジェクト名を設定した.envファイルを作成します。

.env
COMPOSE_PROJECT_NAME=influxdb-test

influxdb設定ファイルの作成

今回はinfluxdbバージョン2.7を利用します。
influxdbのDockerイメージは公式イメージからデフォルトの設定ファイルを出力します。

influxdbのDocker公式イメージURL

コンソール
> docker run --rm influxdb:2.7 influxd print-config > docker/config/config.yml

docker-compose.yamlの作成

docker-compose.yaml
services:
  influxdb-test:
    image: influxdb:2.7
    container_name: influxdb-test
    volumes:
      - ./data/influxdb2:/var/lib/influxdb2
      - ./config/config.yml:/etc/influxdb2/config.yml
    ports:
      - 8086:8086
    environment:
      DOCKER_INFLUXDB_INIT_MODE: setup
      DOCKER_INFLUXDB_INIT_USERNAME: my-user
      DOCKER_INFLUXDB_INIT_PASSWORD: my-password
      DOCKER_INFLUXDB_INIT_ORG: my-org
      DOCKER_INFLUXDB_INIT_BUCKET: my-bucket
      DOCKER_INFLUXDB_INIT_RETENTION: 1w
      DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: my-super-secret-auth-token

Dockerコンテナの起動

コンソール
> docker-compose --file docker/docker-compose.yaml up -d           
Creating network "influxdb-test_default" with the default driver
Creating influxdb-test ... done

対象のDockerイメージファイルとコンテナ、ネットワークを確認します。

コンソール
> docker image ls
REPOSITORY  TAG  IMAGE ID      CREATED      SIZE
influxdb    2.7  55857d99abe6  2 weeks ago  266MB

> docker container ls -a
CONTAINER ID  IMAGE         COMMAND                 CREATED             STATUS             PORTS                   NAMES
d98871fffb6a  influxdb:2.7  "/entrypoint.sh infl…"  About a minute ago  Up About a minute  0.0.0.0:8086->8086/tcp  influxdb-test

> docker network ls
NETWORK ID    NAME                   DRIVER  SCOPE
9bef0fcd65f5  influxdb-test_default  bridge  local

Dockerコンテナが起動されているかプロセス確認します。

コンソール
> docker ps
CONTAINER ID  IMAGE         COMMAND                 CREATED        STATUS        PORTS                   NAMES
d98871fffb6a  influxdb:2.7  "/entrypoint.sh infl…"  5 minutes ago  Up 5 minutes  0.0.0.0:8086->8086/tcp  influxdb-test

GUIでinfluxdbの確認

実際に `http://localhost:8086` へアクセスするとログイン画面が表示されるので、 `docker-compose.yaml` ファイルで作成した以下の値でログインします。

  • Username: DOCKER_INFLUXDB_INIT_USERNAME
  • Password: DOCKER_INFLUXDB_INIT_PASSWORD
influxdbログインページ

トップページでは、influxdbの導入方法が表示されているので、こちらに則って開発していくと良いと思います。

influxdbの導入方法ページ

🌟この記事は私が書いています🌟

Kakeru profile

Kakeru Sato

ソフトウェアデベロッパー

フルスタックエンジニア