概要
InfluxDBをdocker composeにて起動するためのセットアップ手順です。
非rootコンテナであるbitnamiのコンテナイメージを利用します。
環境
本手順で取り扱う内容は、次の環境にて確認しています。
マシン:Amazon EC2
OS:Ubuntu 24.04
Docker:27.2.0
Docker Compose:v2.29.2
influxDB:2.7.10
構成図
構成は次のようにします。
InfluxDBを利用するアプリケーションが存在するわけですが、
InfluxDBはアプリケーションとは別管理としたく、docker composeを分けます。
全てを同一のdocker composeでまとめることも、それぞれを別マシンにて動かすことも技術的には可能だと思いますが、今回はこのような構成とします。
手順
influxDBコンテナ用のディレクトリを作成します。
ここではinfluxdbとしていますが、任意のディレクトリ名で構いません。
$ mkdir influxdb
$ cd influxdb
compose.yamlを作成してください。内容は次の通りです。
influxDBのバージョンが2.7.10となっていますが、こちらは本記事投稿時の最新バージョンですので、任意のバージョンを指定下さい。
環境変数についても任意の値に書き換えて下さい。
ネットワークについてですが、アプリケーションからinfluxDBを名前解決できるように、両者を同じネットワークに所属させます。そのため、<アプリケーション用のdockerネットワーク名>と記載された箇所は、同じ名前を記載して下さい。
docker network lsを実行すればdockerネットワークの名前が分かるはずです。
Portについては、外部からのアクセスを受け付けないようにポートマッピングは行っていません。もし、外部からInfluxDBのWebUI画面等にアクセスしたい場合は、services.influxdbに次の記述を挿入して下さい。
    ports:
      - 8086:8086
services:
  influxdb:
    container_name: influxdb
    image: bitnami/influxdb:2.7.10
    restart: unless-stopped
    environment:
      - INFLUXDB_ADMIN_USER=<admin ユーザ名>
      - INFLUXDB_ADMIN_USER_PASSWORD=<パスワード>
      - INFLUXDB_ADMIN_USER_TOKEN=<管理者用トークン>
    volumes:
      - influxdb_data:/bitnami/influxdb:rw
    networks:
      - <アプリケーション用のdockerネットワーク名>
networks:
  <アプリケーション用のdockerネットワーク名>:
    external: true
volumes:
  influxdb_data: {}
compose.yamlが作成できたら、コンテナを起動します。
$ docker compose up -d
コンテナが起動したことを確認してください。
$ docker ps
CONTAINER ID   IMAGE                                    COMMAND                  CREATED          STATUS          PORTS                                           NAMES
eec4fe29c9c6   bitnami/influxdb:2.7.10                  "/opt/bitnami/script…"   3 seconds ago   Up 2 seconds   8086/tcp, 8088/tcp                              influxdb
これでInfluxDBの起動は完了です。
参考


