Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions docker/ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,34 @@ e.g.,
docker build -t my-iotdb:<version> -f Dockerfile-<version>
```

# How to build with multi-platform

After 0.13.1, we add Dockerfile who can build multi-platform with buildx.

First, upgrade your docker version to support dockerx, use the following command.

```shell
# Make sure the current version supports buildx
docker buildx version
```

Enable buildx.

```shell
# Specify buildx uses docker container
docker buildx create --name mybuilder --driver docker-container
docker buildx use mybuilder
# run a image to build multiple platforms using buildx.
docker run --rm --privileged tonistiigi/binfmt:latest --install all
```

Finally use buildx to build images and push to docker-hub.

```shell
# build and push to remote hub.
docker buildx build --platform linux/amd64,linux/arm64/v8,linux/arm/v7 -t <username>/iotdb:latest -f <DockerFile> . --push
```

# How to run IoTDB server

Actually, we maintain a repo on dockerhub, so that you can get the docker image directly.
Expand Down
41 changes: 41 additions & 0 deletions docker/src/main/Dockerfile-0.13.2-grafana-connector-multi-platform
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#
# 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.13.2/apache-iotdb-0.13.2-grafana-connector-bin.zip \
# if you are in China, use the following URL
#&& wget https://mirrors.tuna.tsinghua.edu.cn/apache/iotdb/0.13.2/apache-iotdb-0.13.2-grafana-connector-bin.zip \
&& unzip apache-iotdb-0.13.2-grafana-connector-bin.zip \
&& rm apache-iotdb-0.13.2-grafana-connector-bin.zip \
&& mv apache-iotdb-0.13.2-grafana-connector-bin /iotdb-grafana-connector \
&& apt remove wget unzip -y \
&& apt autoremove -y \
&& apt purge --auto-remove -y \
&& apt clean -y
# rpc port
EXPOSE 8888
VOLUME /iotdb-grafana-connector/config
RUN echo "#!/bin/bash" > /iotdb-grafana-connector/runboot.sh
RUN echo "java -Djava.security.egd=file:/dev/./urandom -jar /iotdb-grafana-connector/iotdb-grafana-connector.war" >> /iotdb-grafana-connector/runboot.sh
RUN chmod a+x /iotdb-grafana-connector/runboot.sh
WORKDIR /iotdb-grafana-connector
ENTRYPOINT ["./runboot.sh"]
45 changes: 45 additions & 0 deletions docker/src/main/Dockerfile-0.13.2-node-multi-platform
Original file line number Diff line number Diff line change
@@ -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 --platform=$TARGETPLATFORM eclipse-temurin:11-jre-focal
RUN apt update \
# procps is for `free` command
&& apt install wget unzip lsof procps -y \
&& wget https://downloads.apache.org/iotdb/0.13.2/apache-iotdb-0.13.2-server-bin.zip \
# if you are in China, use the following URL
#&& wget https://mirrors.tuna.tsinghua.edu.cn/apache/iotdb/0.13.2/apache-iotdb-0.13.2-server-bin.zip \
&& unzip apache-iotdb-0.13.2-server-bin.zip \
&& rm apache-iotdb-0.13.2-server-bin.zip \
&& mv apache-iotdb-0.13.2-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"]