This is an automated email from the ASF dual-hosted git repository.

hxd pushed a commit to branch docker-0.11-0.12
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 6a2a0dee1113eb25735cda922f9c9296bca7eedb
Author: xiangdong huang <[email protected]>
AuthorDate: Sat Apr 17 14:59:56 2021 +0800

    add dockerfile for 0.11.3 and 0.12.0
---
 client-py/release.sh                               |  3 ++
 docker/ReadMe.md                                   | 50 ++++++++++++++++++--
 .../src/main/Dockerfile-0.11.3                     | 40 ++++++++--------
 docker/src/main/Dockerfile-0.12.0-cluster          | 53 ++++++++++++++++++++++
 docker/src/main/Dockerfile-0.12.0-node             | 45 ++++++++++++++++++
 5 files changed, 168 insertions(+), 23 deletions(-)

diff --git a/client-py/release.sh b/client-py/release.sh
index 94a56a6..2d9ca29 100755
--- a/client-py/release.sh
+++ b/client-py/release.sh
@@ -19,6 +19,9 @@
 # under the License.
 #
 
+# the python version must be python3.
+python --version
+
 rm -Rf build
 rm -Rf dist
 rm -Rf iotdb_session.egg_info
diff --git a/docker/ReadMe.md b/docker/ReadMe.md
index a416dd3..0eb3db3 100644
--- a/docker/ReadMe.md
+++ b/docker/ReadMe.md
@@ -19,13 +19,27 @@
 
 -->
 
+# Docker image version definition
+
+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`.
+
+## The definition of tag "latest"
+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`.
+
+
 # How to build
 
 docker build -t THE_DOCKER_IMAGE_NAME:THE_VERSION -f THE_DOCKER_FILE_NAME
 
 e.g.,
 
-```
+```shell
 docker build -t my-iotdb:<version> -f Dockerfile-<version>
 ```
 
@@ -34,17 +48,35 @@ docker build -t my-iotdb:<version> -f Dockerfile-<version>
 Actually, we maintain a repo on dockerhub, so that you can get the docker 
image directly.
 
 For example,
-```
+
+```shell
 docker run -d -p 6667:6667 -p 31999:31999 -p 8181:8181 -p 5555:5555 
apache/iotdb:<version>
 ```
 
+```shell
+docker run -d -p 6667:6667 -p 31999:31999 -p 8181:8181 -p 5555:5555 -p 
9003:9003 -p 40010:40010 apache/iotdb:<version>
+```
+
+## Port description
+
+By default, the ports that IoTDB uses are:
+
+* 6667: RPC port
+* 31999: JMX port
+* 8181: Monitor port
+* 5555: Data sync port
+* 9003: internal metadata rpc port (for cluster)
+* 40010: internal data rpc port (for cluster)
+
+
 ## How to configure docker volumes
 
 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.
-```
+
+```shell
 docker run -it -v /D/docker/iotdb_data:/iotdb/data -v 
/D/docker/iotdb_logs:/iotdb/logs --name 123 apache/iotdb:<version>
 ```
 
@@ -54,16 +86,24 @@ Suppose you have run an IoTDB Server in docker
 
 1. Use `docker ps` to find out the CONTAINER ID
 e.g.,
-```
+   
+```shell
 $ 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   elegant_germain
 ```
 2. Use `docker exec` to attach the container:
-```
+
+```shell
 docker exec -it c82321c70137 /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, 
+
+```shell
+docker exec -it c82321c70137 start-cli.sh
+```
+
 Enjoy it!
diff --git a/client-py/release.sh b/docker/src/main/Dockerfile-0.11.3
old mode 100755
new mode 100644
similarity index 51%
copy from client-py/release.sh
copy to docker/src/main/Dockerfile-0.11.3
index 94a56a6..0de4faa
--- a/client-py/release.sh
+++ b/docker/src/main/Dockerfile-0.11.3
@@ -1,5 +1,3 @@
-#!/usr/bin/env bash
-#
 #
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
@@ -19,19 +17,25 @@
 # under the License.
 #
 
-rm -Rf build
-rm -Rf dist
-rm -Rf iotdb_session.egg_info
-
-# (Re-)build generated code
-(cd ..; mvn clean generate-sources -pl client-py -am)
-
-# Run Linting
-flake8
-
-# Run unit tests
-pytest .
-
-# See https://packaging.python.org/tutorials/packaging-projects/
-python setup.py sdist bdist_wheel
-twine upload --repository pypi dist/*
\ No newline at end of file
+FROM openjdk:11-jre-slim
+RUN apt update \
+  # procps is for `free` command
+  && apt install wget unzip lsof procps -y \
+  && wget 
https://downloads.apache.org/iotdb/0.11.3/apache-iotdb-0.11.3-bin.zip \
+  # if you are in China, use the following URL
+  #&& wget 
https://mirrors.tuna.tsinghua.edu.cn/apache/iotdb/0.11.3/apache-iotdb-0.11.3-bin.zip
 \
+  && unzip apache-iotdb-0.11.3-bin.zip \
+  && rm apache-iotdb-0.11.3-bin.zip \
+  && mv apache-iotdb-0.11.3 /iotdb \
+  && apt remove wget unzip -y \
+  && apt autoremove -y \
+  && apt purge --auto-remove -y \
+  && apt clean -y
+EXPOSE 6667
+EXPOSE 31999
+EXPOSE 5555
+EXPOSE 8181
+VOLUME /iotdb/data
+VOLUME /iotdb/logs
+ENV PATH="/iotdb/sbin/:/iotdb/tools/:${PATH}"
+ENTRYPOINT ["/iotdb/sbin/start-server.sh"]
diff --git a/docker/src/main/Dockerfile-0.12.0-cluster 
b/docker/src/main/Dockerfile-0.12.0-cluster
new file mode 100644
index 0000000..a201d6e
--- /dev/null
+++ b/docker/src/main/Dockerfile-0.12.0-cluster
@@ -0,0 +1,53 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+FROM openjdk:11-jre-slim
+RUN apt update \
+  # procps is for `free` command
+  && apt install wget unzip lsof procps -y \
+  && wget 
https://downloads.apache.org/iotdb/0.12.0/apache-iotdb-0.12.0-cluster-bin.zip \
+  # if you are in China, use the following URL
+  #&& wget 
https://mirrors.tuna.tsinghua.edu.cn/apache/iotdb/0.12.0/apache-iotdb-0.12.0-cluster-bin.zip
 \
+  && unzip apache-iotdb-0.12.0-cluster-bin.zip \
+  && rm apache-iotdb-0.12.0-cluster-bin.zip \
+  && mv apache-iotdb-0.12.0-cluster-bin /iotdb \
+  && apt remove wget unzip -y \
+  && apt autoremove -y \
+  && apt purge --auto-remove -y \
+  && apt clean -y \
+  # modify the seeds in configuration file
+  && sed -i '/^seed_nodes/cseed_nodes=127.0.0.1:9003' 
/iotdb/conf/iotdb-cluster.properties \
+  && sed -i '/^default_replica_num/cdefault_replica_num=1' 
/iotdb/conf/iotdb-cluster.properties
+
+# rpc port
+EXPOSE 6667
+# JMX port
+EXPOSE 31999
+# sync port
+EXPOSE 5555
+# monitor port
+EXPOSE 8181
+# internal meta port
+EXPOSE 9003
+# internal data port
+EXPOSE 40010
+VOLUME /iotdb/data
+VOLUME /iotdb/logs
+ENV PATH="/iotdb/sbin/:/iotdb/tools/:${PATH}"
+ENTRYPOINT ["/iotdb/sbin/start-node.sh"]
diff --git a/docker/src/main/Dockerfile-0.12.0-node 
b/docker/src/main/Dockerfile-0.12.0-node
new file mode 100644
index 0000000..7706f63
--- /dev/null
+++ b/docker/src/main/Dockerfile-0.12.0-node
@@ -0,0 +1,45 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+FROM openjdk:11-jre-slim
+RUN apt update \
+  # procps is for `free` command
+  && apt install wget unzip lsof procps -y \
+  && wget 
https://downloads.apache.org/iotdb/0.12.0/apache-iotdb-0.12.0-server-bin.zip \
+  # if you are in China, use the following URL
+  #&& wget 
https://mirrors.tuna.tsinghua.edu.cn/apache/iotdb/0.12.0/apache-iotdb-0.12.0-server-bin.zip
 \
+  && unzip apache-iotdb-0.12.0-server-bin.zip \
+  && rm apache-iotdb-0.12.0-server-bin.zip \
+  && mv apache-iotdb-0.12.0-server-bin /iotdb \
+  && apt remove wget unzip -y \
+  && apt autoremove -y \
+  && apt purge --auto-remove -y \
+  && apt clean -y
+# rpc port
+EXPOSE 6667
+# JMX port
+EXPOSE 31999
+# sync port
+EXPOSE 5555
+# monitor port
+EXPOSE 8181
+VOLUME /iotdb/data
+VOLUME /iotdb/logs
+ENV PATH="/iotdb/sbin/:/iotdb/tools/:${PATH}"
+ENTRYPOINT ["/iotdb/sbin/start-server.sh"]

Reply via email to