/
Dockerfile
64 lines (48 loc) · 2.06 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#
# 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.
#
# Use Java 8 image as default one.
FROM openjdk:8
# Set Apache Ignite configuration file name.
ARG IGNITE_CFG_XML="example-kube.xml"
# Set Apache Ignite version.
ARG IGNITE_VERSION="2.0.0"
# Set IGNITE_HOME variable.
ENV IGNITE_HOME /opt/ignite/apache-ignite-${IGNITE_VERSION}-bin
# Set a path to the Apache Ignite configuration file. Use the run.sh script below:
ENV CONFIG_URI ${IGNITE_HOME}/config/$IGNITE_CFG_XML
# Make sure the Kubernetes lib is copied to the 'libs' folder.
ENV OPTION_LIBS ignite-kubernetes
# Disabling quiet mode.
ENV IGNITE_QUIET=false
# Install or update needed tools.
RUN apt-get update && apt-get install -y --no-install-recommends unzip
# Creating and setting a working directory for following commands.
WORKDIR /opt/ignite
# Copying local Apache Ignite build to the docker image.
COPY ./apache-ignite-${IGNITE_VERSION}-bin.zip apache-ignite-${IGNITE_VERSION}-bin.zip
# Unpacking the build.
RUN unzip apache-ignite-${IGNITE_VERSION}-bin.zip
RUN rm apache-ignite-${IGNITE_VERSION}-bin.zip
# Copying the executable file and setting permissions.
COPY ./run.sh $IGNITE_HOME/
RUN chmod +x $IGNITE_HOME/run.sh
# Copy the configuration.
COPY ./$IGNITE_CFG_XML $IGNITE_HOME/config
# Start an Apache Ignite node.
CMD $IGNITE_HOME/run.sh
# Exposing the ports.
EXPOSE 11211 47100 47500 49112