概要
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の起動は完了です。
参考