50 lines
1.8 KiB
Docker
50 lines
1.8 KiB
Docker
FROM danielberteaud/alpine:24.4-1 AS builder
|
|
|
|
ARG ES_VERSION=8.13.2
|
|
|
|
ADD https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ES_VERSION}-linux-x86_64.tar.gz /tmp
|
|
ADD https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ES_VERSION}-linux-x86_64.tar.gz.sha512 /tmp
|
|
RUN set -eux &&\
|
|
apk add tar &&\
|
|
cd /tmp &&\
|
|
sha512sum -c elasticsearch-${ES_VERSION}-linux-x86_64.tar.gz.sha512 &&\
|
|
tar xzf elasticsearch-${ES_VERSION}-linux-x86_64.tar.gz &&\
|
|
mv elasticsearch-${ES_VERSION} /opt/elasticsearch &&\
|
|
# Remove X-Pack ML as it's not used, and not working on Alpine \
|
|
rm -rf /opt/elasticsearch/modules/x-pack-ml/ &&\
|
|
# Remove the JDK, we have our own \
|
|
rm -rf /opt/elasticsearch/jdk &&\
|
|
sed -i -e 's/ES_DISTRIBUTION_TYPE=tar/ES_DISTRIBUTION_TYPE=docker/' /opt/elasticsearch/bin/elasticsearch-env &&\
|
|
mkdir -p /opt/elasticsearch/config/jvm.config.d &&\
|
|
mkdir -p /opt/elasticsearch/.aws/config &&\
|
|
chown -R 9200:9200 /opt/elasticsearch/config &&\
|
|
chown -R 9200:9200 /opt/elasticsearch/.aws
|
|
|
|
FROM danielberteaud/java:17.24.4-1
|
|
MAINTAINER Daniel Berteaud <dbd@ehtrace.com>
|
|
|
|
ENV PATH=/opt/elasticsearch/bin:$PATH \
|
|
ES_JAVA_HOME=/opt/java/openjdk \
|
|
ES_PATH_CONF=/opt/elasticsearch/config \
|
|
ES_TMPDIR=/tmp
|
|
|
|
COPY --from=builder /opt/elasticsearch/ /opt/elasticsearch/
|
|
|
|
RUN set -eux &&\
|
|
apk --no-cache update &&\
|
|
apk --no-cache add openssl bash jq &&\
|
|
addgroup -g 9200 elasticsearch &&\
|
|
adduser --system --ingroup elasticsearch --disabled-password --uid 9200 elasticsearch --home /opt/elasticsearch --no-create-home --shell /sbin/nologin &&\
|
|
mkdir /data &&\
|
|
chown -R elasticsearch:elasticsearch /data
|
|
|
|
COPY root/ /
|
|
|
|
RUN set -eux &&\
|
|
chown -R elasticsearch:elasticsearch /opt/elasticsearch/config
|
|
|
|
WORKDIR /opt/elasticsearch
|
|
USER elasticsearch
|
|
EXPOSE 9200 9300
|
|
CMD ["elasticsearch"]
|