42 lines
1.6 KiB
Docker
42 lines
1.6 KiB
Docker
|
ARG ALPINE_VERSION="3.15"
|
||
|
|
||
|
FROM alpine:$ALPINE_VERSION AS download-base
|
||
|
WORKDIR /downloads
|
||
|
RUN echo "$(apk --print-arch)" > /arch.txt
|
||
|
|
||
|
FROM download-base AS installer
|
||
|
ARG ES_VERSION="7.10.2"
|
||
|
|
||
|
# find the downloads for previous versions here - https://www.elastic.co/downloads/past-releases#elasticsearch-oss-no-jdk
|
||
|
# 7.10 is the latest version which is OSS, see - https://www.elastic.co/pricing/faq/licensing
|
||
|
# there's no no-jdk version for arm64, so we download the JDK and strip it out
|
||
|
|
||
|
#https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.10.2-linux-x86_64.tar.gz
|
||
|
#https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.10.2-linux-aarch64.tar.gz
|
||
|
|
||
|
RUN wget -O elasticsearch.tar.gz "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-${ES_VERSION}-linux-$(cat /arch.txt).tar.gz"
|
||
|
|
||
|
RUN mkdir /elasticsearch && \
|
||
|
tar -xzf elasticsearch.tar.gz --strip-components=1 -C /elasticsearch && \
|
||
|
rm -rf /elasticsearch/jdk
|
||
|
|
||
|
# Elasticsearch requires a JVM - this image provides a minimal JRE installation
|
||
|
# see the product-JVM version matrix https://www.elastic.co/support/matrix#matrix_jvm
|
||
|
FROM openjdk:11.0.11-jre-slim
|
||
|
|
||
|
WORKDIR /usr/share/elasticsearch
|
||
|
COPY --from=installer /elasticsearch .
|
||
|
|
||
|
EXPOSE 9200 9300
|
||
|
ENV ES_HOME="/usr/share/elasticsearch" \
|
||
|
ES_JAVA_OPTS="-Xms1024m -Xmx1024m"
|
||
|
|
||
|
COPY elasticsearch.yml log4j2.properties ./config/
|
||
|
|
||
|
RUN groupadd -g 1000 elasticsearch && \
|
||
|
adduser -uid 1000 -gid 1000 --home ${ES_HOME} elasticsearch && \
|
||
|
chmod 0775 ${ES_HOME} && \
|
||
|
chown -R 1000:0 ${ES_HOME}
|
||
|
|
||
|
USER elasticsearch:root
|
||
|
CMD ["/usr/share/elasticsearch/bin/elasticsearch"]
|