この記事はこんな人におすすめ
- 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イメージは公式イメージからデフォルトの設定ファイルを出力します。
コンソール
> 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の導入方法が表示されているので、こちらに則って開発していくと良いと思います。