Before v0.12, Apache IoTDB's docker image name and version format is: apache/iotdb:0.<major>.<minor>
.
From 0.12 on, we release two images: one is for a single node, and the other is for the cluster mode. The format is: apache/iotdb:0.<major>.<minor>-node
and apache/iotdb:0.<major>.<minor>-cluster
.
From 1.0.0, we split 3 kinds of images: datanode,confignode and all of them in one image called 1C1D. The format is: apache/iotdb:<version>-confignode
,apache/iotdb:<version>-datanode
and apache/iotdb:<version>-standalone
.
Before v0.12, the “latest” tag will forward to the largest apache/iotdb:0.<major>.<minor>
.
From 0.12 on, the “latest” tag will forward to the largest apache/iotdb:0.<major>.<minor>-node
.
docker build -t THE_DOCKER_IMAGE_NAME:THE_VERSION -f THE_DOCKER_FILE_NAME
e.g.,
docker build -t my-iotdb:<version> -f Dockerfile-<version> # for 1.0.0 cd src/main/DockerCompose ./do-docker-build.sh -t <target> -v <version> e.g. ./do-docker-build.sh -t standalone -v 1.0.0
Notice: Make directory of src/main/target and put the zip file downloading from the official download page. e.g.
$ ls -hl target/ total 215M -rw-r--r-- 1 root root 75M Nov 30 20:04 apache-iotdb-1.0.0-all-bin.zip -rw-r--r-- 1 root root 69M Dec 1 17:12 apache-iotdb-1.0.0-confignode-bin.zip -rw-r--r-- 1 root root 73M Dec 1 17:13 apache-iotdb-1.0.0-datanode-bin.zip
Actually, we maintain a repo on dockerhub, so that you can get the docker image directly.
For example,
docker run -d --name iotdb -p 6667:6667 -p 31999:31999 -p 8181:8181 -p 5555:5555 apache/iotdb:<version>
docker run -d --name iotdb -p 6667:6667 -p 31999:31999 -p 8181:8181 -p 5555:5555 -p 9003:9003 -p 40010:40010 apache/iotdb:<version>
Since 1.0.0, see offical documents.
By default, the ports that IoTDB uses are:
The instructions below show how to store the output data and logs of IoTDB to two folders called iotdb_data and iotdb_logs respectively.
/D/docker/iotdb_data
and /D/docker/iotdb_logs
can be changed to any local directory of your own host.
docker run -it -v /D/docker/iotdb_data:/iotdb/data -v /D/docker/iotdb_logs:/iotdb/logs --name 123 apache/iotdb:<version>
Suppose you have run an IoTDB Server in docker
docker ps
to find out the CONTAINER ID e.g.,$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c82321c70137 apache/iotdb:<version> "/iotdb/sbin/start-s…" 12 minutes ago Up 12 minutes 0.0.0.0:6667->6667/tcp, 0.0.0.0:8181->8181/tcp, 5555/tcp, 0.0.0.0:31999->31999/tcp iotdb
docker exec
to attach the container:docker exec -it iotdb /bin/bash
Then, for the latest version (or, >=0.10.x), run start-cli.sh
, for version 0.9.x and 0.8.1, run start-client.sh
.
Or,
docker exec -it iotdb start-cli.sh
docker run -it -v /your_application.properties_folder:/iotdb-grafana-connector/config -p 8888:8888 apache/iotdb:<version>-grafana
SPRING_DATASOURCE_URL
for example)docker run -it -p 8888:8888 apache/iotdb:<version>-grafana -e SPRING_DATASOURCE_URL=jdbc:iotdb://iotdb:6667/
grafana/src/main/resources/application.properties
)name | default value |
---|---|
SPRING_DATASOURCE_URL | jdbc:iotdb://127.0.0.1:6667/ |
SPRING_DATASOURCE_USERNAME | root |
SPRING_DATASOURCE_PASSWORD | root |
SPRING_DATASOURCE_DRIVER_CLASS_NAME | org.apache.iotdb.jdbc.IoTDBDriver |
SERVER_PORT | 8888 |
TIMESTAMP_PRECISION | ms |
ISDOWNSAMPLING | true |
INTERVAL | 1m |
CONTINUOUS_DATA_FUNCTION | AVG |
DISCRETE_DATA_FUNCTION | LAST_VALUE |
Using docker compose, it contains three services: iotdb, grafana and grafana-connector
/docker/src/main/DockerCompose/docker-compose-grafana.yml
docker-compose up
can start all three servicesdocker-compose up -d
to start in the backgrounddocker-compose-grafana.yml
to implement your requirements.volumes
keyword to mount the data volume or file of the host into the container.{ip}:3000
to visit grafanaConfiguration
, search SimpleJson
grafana-connector:8888
, then click save and test
. if Data source is working
is shown, the configuration is finished.docker-compose down
Enjoy it!