jdk14-alpine/Dockerfile

44 lines
2.4 KiB
Docker

ARG BASE_IMAGE="adoptopenjdk/openjdk14:alpine"
FROM ${BASE_IMAGE}
# Install groovy
ENV GROOVY_HOME=/opt/groovy
ENV GROOVY_VERSION=4.0.9
RUN set -o errexit -o nounset && echo "Installing build dependencies" && \
apk add --no-cache --virtual .build-deps gnupg && \
echo "Downloading Groovy" && \
wget --no-verbose --output-document=groovy.zip "https://archive.apache.org/dist/groovy/${GROOVY_VERSION}/distribution/apache-groovy-binary-${GROOVY_VERSION}.zip" && \
echo "Importing keys listed in http://www.apache.org/dist/groovy/KEYS from key server" && \
export GNUPGHOME="$(mktemp -d)" && \
gpg --batch --no-tty --keyserver keyserver.ubuntu.com --recv-keys 7FAA0F2206DE228F0DB01AD741321490758AAD6F 331224E1D7BE883D16E8A685825C06C827AF6B66 34441E504A937F43EB0DAEF96A65176A0FB1CD0B 9A810E3B766E089FFB27C70F11B595CEDC4AEBB5 81CABC23EECA0790E8989B361FF96E10F0E13706 && \
echo "Checking download signature" && \
wget --no-verbose --output-document=groovy.zip.asc "https://archive.apache.org/dist/groovy/${GROOVY_VERSION}/distribution/apache-groovy-binary-${GROOVY_VERSION}.zip.asc" && \
gpg --batch --no-tty --verify groovy.zip.asc groovy.zip && \
rm -rf "${GNUPGHOME}" \
&& rm groovy.zip.asc && \
echo "Cleaning up build dependencies" && \
apk del .build-deps && echo "Installing Groovy" && \
unzip groovy.zip && \
rm groovy.zip && \
mv "groovy-${GROOVY_VERSION}" "${GROOVY_HOME}/" && \
ln -s "${GROOVY_HOME}/bin/grape" /usr/bin/grape && \
ln -s "${GROOVY_HOME}/bin/groovy" /usr/bin/groovy && \
ln -s "${GROOVY_HOME}/bin/groovyc" /usr/bin/groovyc && \
ln -s "${GROOVY_HOME}/bin/groovyConsole" /usr/bin/groovyConsole && \
ln -s "${GROOVY_HOME}/bin/groovydoc" /usr/bin/groovydoc && \
ln -s "${GROOVY_HOME}/bin/groovysh" /usr/bin/groovysh && \
ln -s "${GROOVY_HOME}/bin/java2groovy" /usr/bin/java2groovy && \
echo "Editing startGroovy to include java.xml.bind module" && \
sed --in-place 's|startGroovy ( ) {|startGroovy ( ) {\n JAVA_OPTS="$JAVA_OPTS --add-modules=ALL-SYSTEM"|' "${GROOVY_HOME}/bin/startGroovy"
# Install docker-cli, docker-compose, git, bash
RUN apk update && \
apk add --no-cache docker-cli python3 py3-pip git bash && \
apk add --no-cache --virtual .docker-compose-deps python3-dev libffi-dev openssl-dev gcc libc-dev make && \
pip3 install docker-compose && \
apk del .docker-compose-deps