You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@iotdb.apache.org by Andreas Oswald <an...@outlook.de> on 2019/02/25 01:20:12 UTC
How to run IoTDB in Docker
Hi there,
a colleague has asked me if it was possible to run IoTDB in a Docker container. Can you help me to give him a proper answer?
Thanks in advance for your help.
Kind regards from Germany
Andreas
Re: How to run IoTDB in Docker
Posted by Xiangdong Huang <sa...@gmail.com>.
Correction:
> $ docker build -t iotdb:base
https://github.com/apache/incubator-iotdb#enable_docker_image:docker
should be:
$ docker build -t iotdb:base git
://github.com/apache/incubator-iotdb#enable_docker_image:docker
<https://github.com/apache/incubator-iotdb#enable_docker_image:docker>
Best,
-----------------------------------
Xiangdong Huang
School of Software, Tsinghua University
黄向东
清华大学 软件学院
Xiangdong Huang <sa...@gmail.com> 于2019年2月26日周二 上午3:07写道:
> Hi,
>
> I submit a PR, and welcome to review it.
> https://github.com/apache/incubator-iotdb/pull/69
> (Actually I have few experiences to edit a dockerfile...)
>
> Best,
> -----------------------------------
> Xiangdong Huang
> School of Software, Tsinghua University
>
> 黄向东
> 清华大学 软件学院
>
>
> Xiangdong Huang <sa...@gmail.com> 于2019年2月26日周二 上午3:02写道:
>
>> Hi,
>>
>> I am testing it.
>>
>> Because we have not publish the first Apache binary version, only a
>> dockerfile can be provided, rather than a docker image on DockerHub.
>>
>> Now a Dockerfile has been written at ROOT/docker/Dockerfile on the branch
>> enable_docker_image.
>>
>> 1. You can build a docker image by:
>>
>> $ docker build -t iotdb:base
>> https://github.com/apache/incubator-iotdb#enable_docker_image:docker
>>
>> Or:
>> $ git clone https://github.com/apache/incubator-iotdb
>> $ cd incubator-iotdb
>> $ git checkout -b enable_docker_image origin/enable_docker_image
>> $ docker build -t iotdb:base .
>>
>> Once the docker image has been built locally (the tag is iotdb:base in
>> this example), you are almost done!
>>
>> 2. create docker volume for data files and logs:
>> $ docker volume create mydata
>> $ docker volume create mylogs
>>
>> 3. run a docker container:
>> $ docker run -p 6667:6667 -v mydata:/iotdb/data -v mylogs:/iotdb/logs -d
>> iotdb:base /iotdb/bin/start-server.sh
>>
>> If success, you can run `docker ps`, and get something like the following:
>> CONTAINER ID IMAGE COMMAND CREATED
>> STATUS PORTS NAMES
>> 2a68b6944cb5 iotdb:base "/iotdb/bin/start-se…" 4
>> minutes ago Up 5 minutes 0.0.0.0:6667->6667/tcp
>> laughing_meitner
>>
>> You can use the above command to get the container ID:
>> $ docker container ls
>> suppose the ID is <C_ID>.
>>
>> And get the docker IP by:
>> $ docker inspect --format='{{.NetworkSettings.IPAddress}}' <C_ID>
>> suppose the IP is <C_IP>.
>>
>> 4. If you just want to have a try by using iotdb-cli, you can:
>>
>> $ docker exec -it /bin/bash <C_ID>
>> $ (now you have enter the container): /cli/bin/start-client.sh -h
>> localhost -p 6667 -u root -pw root
>>
>> Or, run a new docker container as the client:
>>
>> $ docker run -it iotdb:base /cli/bin/start-client.sh -h <C_IP> -p 6667 -u
>> root -pw root
>>
>> Or, if you have a iotdb-cli locally (e.g., you have compiled the source
>> code by `mvn package`), and suppose your work_dir is cli/bin, then you can
>> just run:
>> $ start-client.sh -h localhost -p 6667 -u root -pw root
>>
>> 5. If you want to write codes to insert data and query data, please add
>> the following dependence:
>> <dependency>
>> <groupId>org.apache.iotdb</groupId>
>> <artifactId>iotdb-jdbc</artifactId>
>> <version>0.8.0-SNAPSHOT</version>
>> </dependency>
>>
>> Some example about how to use IoTDB with IoTDB-JDBC can be found at:
>> https://github.com/apache/incubator-iotdb/tree/master/jdbc/src/test/java/org/apache/iotdb/jdbc/demo
>>
>> (Notice that because we have not published Apache IoTDB version 0.8.0
>> now, you have to compile the source code by `mvn install -DskipTests` to
>> install the dependence into your local maven repository)
>>
>> 6. Now enjoy it!
>>
>> Things TODO:
>>
>> 1. A Grafana service is not installed now. If installed and configured,
>> you can visualize time series by Grafana.
>> 2. A Kubernetes files is not provided now.
>> 3. JMX port and postback module port are not exposed now.
>> 4. Change the number of the max open files.
>> 5. Using docker parameters to set more configurations of IoTDB (e.g.,
>> port, ip, user password, memory limit etc..).
>>
>> Best,
>> -----------------------------------
>> Xiangdong Huang
>> School of Software, Tsinghua University
>>
>> 黄向东
>> 清华大学 软件学院
>>
>>
>> Andreas Oswald <an...@outlook.de> 于2019年2月25日周一 下午2:16写道:
>>
>>> Hi there,
>>>
>>> a colleague has asked me if it was possible to run IoTDB in a Docker
>>> container. Can you help me to give him a proper answer?
>>>
>>> Thanks in advance for your help.
>>>
>>> Kind regards from Germany
>>>
>>> Andreas
>>>
>>>
Re: How to run IoTDB in Docker
Posted by Xiangdong Huang <sa...@gmail.com>.
Hi Dr. Volker,
Thank you very much.
I have finished a dockerfile. But there are a lot need to do.
You can find the PR at: https://github.com/apache/incubator-iotdb/pull/69
Best,
-----------------------------------
Xiangdong Huang
School of Software, Tsinghua University
黄向东
清华大学 软件学院
Dr. Volker Göbbels <vm...@arachnion.de> 于2019年2月26日周二 下午5:25写道:
> Hi,
>
> maybe I can help out a bit. I'll give the image build a spin and look
> how I can help.
> And btw I'm the guy Andreas spoke (thanks Andreas!) about who's
> interested to get it running on Docker
>
> Cheers,
> Volker
>
> Xiangdong Huang schrieb am 25.02.19 um 20:07:
> > Hi,
> >
> > I submit a PR, and welcome to review it.
> > https://github.com/apache/incubator-iotdb/pull/69
> > (Actually I have few experiences to edit a dockerfile...)
> >
> > Best,
> > -----------------------------------
> > Xiangdong Huang
> > School of Software, Tsinghua University
> >
> > 黄向东
> > 清华大学 软件学院
> >
> >
> > Xiangdong Huang <sa...@gmail.com> 于2019年2月26日周二 上午3:02写道:
> >
> >> Hi,
> >>
> >> I am testing it.
> >>
> >> Because we have not publish the first Apache binary version, only a
> >> dockerfile can be provided, rather than a docker image on DockerHub.
> >>
> >> Now a Dockerfile has been written at ROOT/docker/Dockerfile on the
> branch
> >> enable_docker_image.
> >>
> >> 1. You can build a docker image by:
> >>
> >> $ docker build -t iotdb:base
> >> https://github.com/apache/incubator-iotdb#enable_docker_image:docker
> >>
> >> Or:
> >> $ git clone https://github.com/apache/incubator-iotdb
> >> $ cd incubator-iotdb
> >> $ git checkout -b enable_docker_image origin/enable_docker_image
> >> $ docker build -t iotdb:base .
> >>
> >> Once the docker image has been built locally (the tag is iotdb:base in
> >> this example), you are almost done!
> >>
> >> 2. create docker volume for data files and logs:
> >> $ docker volume create mydata
> >> $ docker volume create mylogs
> >>
> >> 3. run a docker container:
> >> $ docker run -p 6667:6667 -v mydata:/iotdb/data -v mylogs:/iotdb/logs -d
> >> iotdb:base /iotdb/bin/start-server.sh
> >>
> >> If success, you can run `docker ps`, and get something like the
> following:
> >> CONTAINER ID IMAGE COMMAND CREATED
> >> STATUS PORTS
> NAMES
> >> 2a68b6944cb5 iotdb:base "/iotdb/bin/start-se…" 4
> minutes
> >> ago Up 5 minutes 0.0.0.0:6667->6667/tcp
> >> laughing_meitner
> >>
> >> You can use the above command to get the container ID:
> >> $ docker container ls
> >> suppose the ID is <C_ID>.
> >>
> >> And get the docker IP by:
> >> $ docker inspect --format='{{.NetworkSettings.IPAddress}}' <C_ID>
> >> suppose the IP is <C_IP>.
> >>
> >> 4. If you just want to have a try by using iotdb-cli, you can:
> >>
> >> $ docker exec -it /bin/bash <C_ID>
> >> $ (now you have enter the container): /cli/bin/start-client.sh -h
> >> localhost -p 6667 -u root -pw root
> >>
> >> Or, run a new docker container as the client:
> >>
> >> $ docker run -it iotdb:base /cli/bin/start-client.sh -h <C_IP> -p 6667
> -u
> >> root -pw root
> >>
> >> Or, if you have a iotdb-cli locally (e.g., you have compiled the source
> >> code by `mvn package`), and suppose your work_dir is cli/bin, then you
> can
> >> just run:
> >> $ start-client.sh -h localhost -p 6667 -u root -pw root
> >>
> >> 5. If you want to write codes to insert data and query data, please add
> >> the following dependence:
> >> <dependency>
> >> <groupId>org.apache.iotdb</groupId>
> >> <artifactId>iotdb-jdbc</artifactId>
> >> <version>0.8.0-SNAPSHOT</version>
> >> </dependency>
> >>
> >> Some example about how to use IoTDB with IoTDB-JDBC can be found at:
> >>
> https://github.com/apache/incubator-iotdb/tree/master/jdbc/src/test/java/org/apache/iotdb/jdbc/demo
> >>
> >> (Notice that because we have not published Apache IoTDB version 0.8.0
> now,
> >> you have to compile the source code by `mvn install -DskipTests` to
> install
> >> the dependence into your local maven repository)
> >>
> >> 6. Now enjoy it!
> >>
> >> Things TODO:
> >>
> >> 1. A Grafana service is not installed now. If installed and configured,
> >> you can visualize time series by Grafana.
> >> 2. A Kubernetes files is not provided now.
> >> 3. JMX port and postback module port are not exposed now.
> >> 4. Change the number of the max open files.
> >> 5. Using docker parameters to set more configurations of IoTDB (e.g.,
> >> port, ip, user password, memory limit etc..).
> >>
> >> Best,
> >> -----------------------------------
> >> Xiangdong Huang
> >> School of Software, Tsinghua University
> >>
> >> 黄向东
> >> 清华大学 软件学院
> >>
> >>
> >> Andreas Oswald <an...@outlook.de> 于2019年2月25日周一 下午2:16写道:
> >>
> >>> Hi there,
> >>>
> >>> a colleague has asked me if it was possible to run IoTDB in a Docker
> >>> container. Can you help me to give him a proper answer?
> >>>
> >>> Thanks in advance for your help.
> >>>
> >>> Kind regards from Germany
> >>>
> >>> Andreas
> >>>
> >>>
>
> --
> Dr. Volker Göbbels, https://www.technologyscout.net
>
Re: How to run IoTDB in Docker
Posted by "Dr. Volker Göbbels" <vm...@arachnion.de>.
Hi,
maybe I can help out a bit. I'll give the image build a spin and look
how I can help.
And btw I'm the guy Andreas spoke (thanks Andreas!) about who's
interested to get it running on Docker
Cheers,
Volker
Xiangdong Huang schrieb am 25.02.19 um 20:07:
> Hi,
>
> I submit a PR, and welcome to review it.
> https://github.com/apache/incubator-iotdb/pull/69
> (Actually I have few experiences to edit a dockerfile...)
>
> Best,
> -----------------------------------
> Xiangdong Huang
> School of Software, Tsinghua University
>
> 黄向东
> 清华大学 软件学院
>
>
> Xiangdong Huang <sa...@gmail.com> 于2019年2月26日周二 上午3:02写道:
>
>> Hi,
>>
>> I am testing it.
>>
>> Because we have not publish the first Apache binary version, only a
>> dockerfile can be provided, rather than a docker image on DockerHub.
>>
>> Now a Dockerfile has been written at ROOT/docker/Dockerfile on the branch
>> enable_docker_image.
>>
>> 1. You can build a docker image by:
>>
>> $ docker build -t iotdb:base
>> https://github.com/apache/incubator-iotdb#enable_docker_image:docker
>>
>> Or:
>> $ git clone https://github.com/apache/incubator-iotdb
>> $ cd incubator-iotdb
>> $ git checkout -b enable_docker_image origin/enable_docker_image
>> $ docker build -t iotdb:base .
>>
>> Once the docker image has been built locally (the tag is iotdb:base in
>> this example), you are almost done!
>>
>> 2. create docker volume for data files and logs:
>> $ docker volume create mydata
>> $ docker volume create mylogs
>>
>> 3. run a docker container:
>> $ docker run -p 6667:6667 -v mydata:/iotdb/data -v mylogs:/iotdb/logs -d
>> iotdb:base /iotdb/bin/start-server.sh
>>
>> If success, you can run `docker ps`, and get something like the following:
>> CONTAINER ID IMAGE COMMAND CREATED
>> STATUS PORTS NAMES
>> 2a68b6944cb5 iotdb:base "/iotdb/bin/start-se…" 4 minutes
>> ago Up 5 minutes 0.0.0.0:6667->6667/tcp
>> laughing_meitner
>>
>> You can use the above command to get the container ID:
>> $ docker container ls
>> suppose the ID is <C_ID>.
>>
>> And get the docker IP by:
>> $ docker inspect --format='{{.NetworkSettings.IPAddress}}' <C_ID>
>> suppose the IP is <C_IP>.
>>
>> 4. If you just want to have a try by using iotdb-cli, you can:
>>
>> $ docker exec -it /bin/bash <C_ID>
>> $ (now you have enter the container): /cli/bin/start-client.sh -h
>> localhost -p 6667 -u root -pw root
>>
>> Or, run a new docker container as the client:
>>
>> $ docker run -it iotdb:base /cli/bin/start-client.sh -h <C_IP> -p 6667 -u
>> root -pw root
>>
>> Or, if you have a iotdb-cli locally (e.g., you have compiled the source
>> code by `mvn package`), and suppose your work_dir is cli/bin, then you can
>> just run:
>> $ start-client.sh -h localhost -p 6667 -u root -pw root
>>
>> 5. If you want to write codes to insert data and query data, please add
>> the following dependence:
>> <dependency>
>> <groupId>org.apache.iotdb</groupId>
>> <artifactId>iotdb-jdbc</artifactId>
>> <version>0.8.0-SNAPSHOT</version>
>> </dependency>
>>
>> Some example about how to use IoTDB with IoTDB-JDBC can be found at:
>> https://github.com/apache/incubator-iotdb/tree/master/jdbc/src/test/java/org/apache/iotdb/jdbc/demo
>>
>> (Notice that because we have not published Apache IoTDB version 0.8.0 now,
>> you have to compile the source code by `mvn install -DskipTests` to install
>> the dependence into your local maven repository)
>>
>> 6. Now enjoy it!
>>
>> Things TODO:
>>
>> 1. A Grafana service is not installed now. If installed and configured,
>> you can visualize time series by Grafana.
>> 2. A Kubernetes files is not provided now.
>> 3. JMX port and postback module port are not exposed now.
>> 4. Change the number of the max open files.
>> 5. Using docker parameters to set more configurations of IoTDB (e.g.,
>> port, ip, user password, memory limit etc..).
>>
>> Best,
>> -----------------------------------
>> Xiangdong Huang
>> School of Software, Tsinghua University
>>
>> 黄向东
>> 清华大学 软件学院
>>
>>
>> Andreas Oswald <an...@outlook.de> 于2019年2月25日周一 下午2:16写道:
>>
>>> Hi there,
>>>
>>> a colleague has asked me if it was possible to run IoTDB in a Docker
>>> container. Can you help me to give him a proper answer?
>>>
>>> Thanks in advance for your help.
>>>
>>> Kind regards from Germany
>>>
>>> Andreas
>>>
>>>
--
Dr. Volker Göbbels, https://www.technologyscout.net
Re: How to run IoTDB in Docker
Posted by Xiangdong Huang <sa...@gmail.com>.
Hi,
I submit a PR, and welcome to review it.
https://github.com/apache/incubator-iotdb/pull/69
(Actually I have few experiences to edit a dockerfile...)
Best,
-----------------------------------
Xiangdong Huang
School of Software, Tsinghua University
黄向东
清华大学 软件学院
Xiangdong Huang <sa...@gmail.com> 于2019年2月26日周二 上午3:02写道:
> Hi,
>
> I am testing it.
>
> Because we have not publish the first Apache binary version, only a
> dockerfile can be provided, rather than a docker image on DockerHub.
>
> Now a Dockerfile has been written at ROOT/docker/Dockerfile on the branch
> enable_docker_image.
>
> 1. You can build a docker image by:
>
> $ docker build -t iotdb:base
> https://github.com/apache/incubator-iotdb#enable_docker_image:docker
>
> Or:
> $ git clone https://github.com/apache/incubator-iotdb
> $ cd incubator-iotdb
> $ git checkout -b enable_docker_image origin/enable_docker_image
> $ docker build -t iotdb:base .
>
> Once the docker image has been built locally (the tag is iotdb:base in
> this example), you are almost done!
>
> 2. create docker volume for data files and logs:
> $ docker volume create mydata
> $ docker volume create mylogs
>
> 3. run a docker container:
> $ docker run -p 6667:6667 -v mydata:/iotdb/data -v mylogs:/iotdb/logs -d
> iotdb:base /iotdb/bin/start-server.sh
>
> If success, you can run `docker ps`, and get something like the following:
> CONTAINER ID IMAGE COMMAND CREATED
> STATUS PORTS NAMES
> 2a68b6944cb5 iotdb:base "/iotdb/bin/start-se…" 4 minutes
> ago Up 5 minutes 0.0.0.0:6667->6667/tcp
> laughing_meitner
>
> You can use the above command to get the container ID:
> $ docker container ls
> suppose the ID is <C_ID>.
>
> And get the docker IP by:
> $ docker inspect --format='{{.NetworkSettings.IPAddress}}' <C_ID>
> suppose the IP is <C_IP>.
>
> 4. If you just want to have a try by using iotdb-cli, you can:
>
> $ docker exec -it /bin/bash <C_ID>
> $ (now you have enter the container): /cli/bin/start-client.sh -h
> localhost -p 6667 -u root -pw root
>
> Or, run a new docker container as the client:
>
> $ docker run -it iotdb:base /cli/bin/start-client.sh -h <C_IP> -p 6667 -u
> root -pw root
>
> Or, if you have a iotdb-cli locally (e.g., you have compiled the source
> code by `mvn package`), and suppose your work_dir is cli/bin, then you can
> just run:
> $ start-client.sh -h localhost -p 6667 -u root -pw root
>
> 5. If you want to write codes to insert data and query data, please add
> the following dependence:
> <dependency>
> <groupId>org.apache.iotdb</groupId>
> <artifactId>iotdb-jdbc</artifactId>
> <version>0.8.0-SNAPSHOT</version>
> </dependency>
>
> Some example about how to use IoTDB with IoTDB-JDBC can be found at:
> https://github.com/apache/incubator-iotdb/tree/master/jdbc/src/test/java/org/apache/iotdb/jdbc/demo
>
> (Notice that because we have not published Apache IoTDB version 0.8.0 now,
> you have to compile the source code by `mvn install -DskipTests` to install
> the dependence into your local maven repository)
>
> 6. Now enjoy it!
>
> Things TODO:
>
> 1. A Grafana service is not installed now. If installed and configured,
> you can visualize time series by Grafana.
> 2. A Kubernetes files is not provided now.
> 3. JMX port and postback module port are not exposed now.
> 4. Change the number of the max open files.
> 5. Using docker parameters to set more configurations of IoTDB (e.g.,
> port, ip, user password, memory limit etc..).
>
> Best,
> -----------------------------------
> Xiangdong Huang
> School of Software, Tsinghua University
>
> 黄向东
> 清华大学 软件学院
>
>
> Andreas Oswald <an...@outlook.de> 于2019年2月25日周一 下午2:16写道:
>
>> Hi there,
>>
>> a colleague has asked me if it was possible to run IoTDB in a Docker
>> container. Can you help me to give him a proper answer?
>>
>> Thanks in advance for your help.
>>
>> Kind regards from Germany
>>
>> Andreas
>>
>>
Re: How to run IoTDB in Docker
Posted by Xiangdong Huang <sa...@gmail.com>.
Hi,
I am testing it.
Because we have not publish the first Apache binary version, only a
dockerfile can be provided, rather than a docker image on DockerHub.
Now a Dockerfile has been written at ROOT/docker/Dockerfile on the branch
enable_docker_image.
1. You can build a docker image by:
$ docker build -t iotdb:base
https://github.com/apache/incubator-iotdb#enable_docker_image:docker
Or:
$ git clone https://github.com/apache/incubator-iotdb
$ cd incubator-iotdb
$ git checkout -b enable_docker_image origin/enable_docker_image
$ docker build -t iotdb:base .
Once the docker image has been built locally (the tag is iotdb:base in this
example), you are almost done!
2. create docker volume for data files and logs:
$ docker volume create mydata
$ docker volume create mylogs
3. run a docker container:
$ docker run -p 6667:6667 -v mydata:/iotdb/data -v mylogs:/iotdb/logs -d
iotdb:base /iotdb/bin/start-server.sh
If success, you can run `docker ps`, and get something like the following:
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
2a68b6944cb5 iotdb:base "/iotdb/bin/start-se…" 4 minutes
ago Up 5 minutes 0.0.0.0:6667->6667/tcp
laughing_meitner
You can use the above command to get the container ID:
$ docker container ls
suppose the ID is <C_ID>.
And get the docker IP by:
$ docker inspect --format='{{.NetworkSettings.IPAddress}}' <C_ID>
suppose the IP is <C_IP>.
4. If you just want to have a try by using iotdb-cli, you can:
$ docker exec -it /bin/bash <C_ID>
$ (now you have enter the container): /cli/bin/start-client.sh -h localhost
-p 6667 -u root -pw root
Or, run a new docker container as the client:
$ docker run -it iotdb:base /cli/bin/start-client.sh -h <C_IP> -p 6667 -u
root -pw root
Or, if you have a iotdb-cli locally (e.g., you have compiled the source
code by `mvn package`), and suppose your work_dir is cli/bin, then you can
just run:
$ start-client.sh -h localhost -p 6667 -u root -pw root
5. If you want to write codes to insert data and query data, please add the
following dependence:
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-jdbc</artifactId>
<version>0.8.0-SNAPSHOT</version>
</dependency>
Some example about how to use IoTDB with IoTDB-JDBC can be found at:
https://github.com/apache/incubator-iotdb/tree/master/jdbc/src/test/java/org/apache/iotdb/jdbc/demo
(Notice that because we have not published Apache IoTDB version 0.8.0 now,
you have to compile the source code by `mvn install -DskipTests` to install
the dependence into your local maven repository)
6. Now enjoy it!
Things TODO:
1. A Grafana service is not installed now. If installed and configured, you
can visualize time series by Grafana.
2. A Kubernetes files is not provided now.
3. JMX port and postback module port are not exposed now.
4. Change the number of the max open files.
5. Using docker parameters to set more configurations of IoTDB (e.g., port,
ip, user password, memory limit etc..).
Best,
-----------------------------------
Xiangdong Huang
School of Software, Tsinghua University
黄向东
清华大学 软件学院
Andreas Oswald <an...@outlook.de> 于2019年2月25日周一 下午2:16写道:
> Hi there,
>
> a colleague has asked me if it was possible to run IoTDB in a Docker
> container. Can you help me to give him a proper answer?
>
> Thanks in advance for your help.
>
> Kind regards from Germany
>
> Andreas
>
>