Created
October 5, 2021 10:24
-
-
Save andsel/38972519c366a673f7d4487e7eaa2695 to your computer and use it in GitHub Desktop.
Dockerfile used to verify Logstash with JDK16 under Alpine Linux
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM adoptopenjdk/openjdk16:x86_64-alpine-jdk-16.0.1_9 | |
WORKDIR /root | |
RUN adduser --disabled-password --gecos "" --home /home/logstash logstash && \ | |
mkdir -p /usr/local/share/ruby-build && \ | |
mkdir -p /opt/logstash && \ | |
mkdir -p /opt/logstash/data && \ | |
mkdir -p /mnt/host && \ | |
chown logstash:logstash /opt/logstash | |
USER logstash | |
WORKDIR /home/logstash | |
# used by the purge policy | |
LABEL retention="keep" | |
# Setup gradle wrapper. When running any `gradle` command, a `settings.gradle` is expected (and will soon be required). | |
# This section adds the gradle wrapper, `settings.gradle` and sets the permissions (setting the user to root for `chown` | |
# and working directory to allow this and then reverts back to the previous working directory and user. | |
COPY --chown=logstash:logstash gradlew /opt/logstash/gradlew | |
COPY --chown=logstash:logstash gradle/wrapper /opt/logstash/gradle/wrapper | |
COPY --chown=logstash:logstash settings.gradle /opt/logstash/settings.gradle | |
WORKDIR /opt/logstash | |
RUN for iter in `seq 1 10`; do ./gradlew wrapper --warning-mode all && exit_code=0 && break || exit_code=$? && echo "gradlew error: retry $iter in 10s" && sleep 10; done; exit $exit_code | |
WORKDIR /home/logstash | |
ADD versions.yml /opt/logstash/versions.yml | |
ADD LICENSE.txt /opt/logstash/LICENSE.txt | |
ADD NOTICE.TXT /opt/logstash/NOTICE.TXT | |
ADD licenses /opt/logstash/licenses | |
ADD CONTRIBUTORS /opt/logstash/CONTRIBUTORS | |
ADD Gemfile.template Gemfile.jruby-2.5.lock.* /opt/logstash/ | |
ADD Rakefile /opt/logstash/Rakefile | |
ADD build.gradle /opt/logstash/build.gradle | |
ADD rubyUtils.gradle /opt/logstash/rubyUtils.gradle | |
ADD rakelib /opt/logstash/rakelib | |
ADD config /opt/logstash/config | |
ADD spec /opt/logstash/spec | |
ADD qa /opt/logstash/qa | |
ADD lib /opt/logstash/lib | |
ADD pkg /opt/logstash/pkg | |
ADD buildSrc /opt/logstash/buildSrc | |
ADD tools /opt/logstash/tools | |
ADD logstash-core /opt/logstash/logstash-core | |
ADD logstash-core-plugin-api /opt/logstash/logstash-core-plugin-api | |
ADD bin /opt/logstash/bin | |
ADD modules /opt/logstash/modules | |
ADD x-pack /opt/logstash/x-pack | |
ADD ci /opt/logstash/ci | |
USER root | |
RUN rm -rf build && \ | |
mkdir -p build && \ | |
chown -R logstash:logstash /opt/logstash | |
USER logstash | |
WORKDIR /opt/logstash | |
LABEL retention="prune" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment