Skip to content
This repository has been archived by the owner on Jun 29, 2020. It is now read-only.

Commit

Permalink
Merge pull request #99 from jetty-project/master-jetty-9.4.14-jre11
Browse files Browse the repository at this point in the history
Issue #98 Upgrade to JRE-11 and Jetty-9.4.14
  • Loading branch information
md5 authored Feb 6, 2019
2 parents 139837c + 4dce0da commit 978c194
Show file tree
Hide file tree
Showing 12 changed files with 201 additions and 13 deletions.
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@ env:
- VERSION=9.3-jre8 VARIANT=alpine
- VERSION=9.4-jre8
- VERSION=9.4-jre8 VARIANT=alpine
- VERSION=9.4-jre11

install:
- git clone https://github.com/docker-library/official-images.git ~/official-images

before_script:
- env | sort
- wget -qO- 'https://github.com/tianon/pgp-happy-eyeballs/raw/master/hack-my-builds.sh' | bash
- cd "${VERSION}${VARIANT:+/$VARIANT}"
- image="jetty:${VERSION}${VARIANT:+-$VARIANT}"

Expand Down
2 changes: 1 addition & 1 deletion 9.2-jre7/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ RUN set -xe \
&& curl -SL "$JETTY_TGZ_URL.asc" -o jetty.tar.gz.asc \
&& export GNUPGHOME="$(mktemp -d)" \
&& for key in $JETTY_GPG_KEYS; do \
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; done \
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; done \
&& gpg --batch --verify jetty.tar.gz.asc jetty.tar.gz \
&& rm -rf "$GNUPGHOME" \
&& tar -xvf jetty.tar.gz --strip-components=1 \
Expand Down
3 changes: 2 additions & 1 deletion 9.2-jre8/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,9 @@ RUN set -xe \
&& curl -SL "$JETTY_TGZ_URL.asc" -o jetty.tar.gz.asc \
&& export GNUPGHOME="$(mktemp -d)" \
&& for key in $JETTY_GPG_KEYS; do \
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; done \
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; done \
&& gpg --batch --verify jetty.tar.gz.asc jetty.tar.gz \
&& gpgconf --kill all \
&& rm -rf "$GNUPGHOME" \
&& tar -xvf jetty.tar.gz --strip-components=1 \
&& sed -i '/jetty-logging/d' etc/jetty.conf \
Expand Down
3 changes: 2 additions & 1 deletion 9.3-jre8/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,9 @@ RUN set -xe \
&& curl -SL "$JETTY_TGZ_URL.asc" -o jetty.tar.gz.asc \
&& export GNUPGHOME="$(mktemp -d)" \
&& for key in $JETTY_GPG_KEYS; do \
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; done \
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; done \
&& gpg --batch --verify jetty.tar.gz.asc jetty.tar.gz \
&& gpgconf --kill all \
&& rm -rf "$GNUPGHOME" \
&& tar -xvf jetty.tar.gz --strip-components=1 \
&& sed -i '/jetty-logging/d' etc/jetty.conf \
Expand Down
7 changes: 4 additions & 3 deletions 9.3-jre8/alpine/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -33,21 +33,22 @@ ENV JETTY_GPG_KEYS \
RUN set -xe \
# Install required packages for build time. Will be removed when build finishes.
&& apk add --no-cache --virtual .build-deps gnupg curl \

\
&& curl -SL "$JETTY_TGZ_URL" -o jetty.tar.gz \
&& curl -SL "$JETTY_TGZ_URL.asc" -o jetty.tar.gz.asc \
&& export GNUPGHOME="$(mktemp -d)" \
&& for key in $JETTY_GPG_KEYS; do \
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; done \
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; done \
&& gpg --batch --verify jetty.tar.gz.asc jetty.tar.gz \
&& gpgconf --kill all \
&& rm -rf "$GNUPGHOME" \
&& tar -xvzf jetty.tar.gz \
&& mv jetty-distribution-$JETTY_VERSION/* ./ \
&& sed -i '/jetty-logging/d' etc/jetty.conf \
&& rm -fr demo-base javadoc \
&& rm jetty.tar.gz* \
&& rm -fr jetty-distribution-$JETTY_VERSION/ \

\
# Remove installed packages and various cleanup
&& apk del .build-deps \
&& rm -fr .build-deps \
Expand Down
65 changes: 65 additions & 0 deletions 9.4-jre11/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
FROM openjdk:11-jre

# add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added
RUN groupadd -r jetty && useradd -r -g jetty jetty

ENV JETTY_HOME /usr/local/jetty
ENV PATH $JETTY_HOME/bin:$PATH
RUN mkdir -p "$JETTY_HOME"
WORKDIR $JETTY_HOME

ENV JETTY_VERSION 9.4.14.v20181114
ENV JETTY_TGZ_URL https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/$JETTY_VERSION/jetty-home-$JETTY_VERSION.tar.gz

# GPG Keys are personal keys of Jetty committers (see https://github.com/eclipse/jetty.project/blob/0607c0e66e44b9c12a62b85551da3a0edce0281e/KEYS.txt)
ENV JETTY_GPG_KEYS \
# Jan Bartel <janb@mortbay.com>
AED5EE6C45D0FE8D5D1B164F27DED4BF6216DB8F \
# Jesse McConnell <jesse.mcconnell@gmail.com>
2A684B57436A81FA8706B53C61C3351A438A3B7D \
# Joakim Erdfelt <joakim.erdfelt@gmail.com>
5989BAF76217B843D66BE55B2D0E1FB8FE4B68B4 \
# Joakim Erdfelt <joakim@apache.org>
B59B67FD7904984367F931800818D9D68FB67BAC \
# Joakim Erdfelt <joakim@erdfelt.com>
BFBB21C246D7776836287A48A04E0C74ABB35FEA \
# Simone Bordet <simone.bordet@gmail.com>
8B096546B1A8F02656B15D3B1677D141BCF3584D \
# Greg Wilkins <gregw@webtide.com>
FBA2B18D238AB852DF95745C76157BDF03D0DCD6 \
# Greg Wilkins <gregw@webtide.com>
5C9579B3DB2E506429319AAEF33B071B29559E1E

RUN set -xe \
&& curl -SL "$JETTY_TGZ_URL" -o jetty.tar.gz \
&& curl -SL "$JETTY_TGZ_URL.asc" -o jetty.tar.gz.asc \
&& export GNUPGHOME="$(mktemp -d)" \
&& for key in $JETTY_GPG_KEYS; do \
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; done \
&& gpg --batch --verify jetty.tar.gz.asc jetty.tar.gz \
&& rm -rf "$GNUPGHOME" \
&& tar -xvf jetty.tar.gz --strip-components=1 \
&& sed -i '/jetty-logging/d' etc/jetty.conf \
&& rm jetty.tar.gz* \
&& rm -rf /tmp/hsperfdata_root

ENV JETTY_BASE /var/lib/jetty
RUN mkdir -p "$JETTY_BASE"
WORKDIR $JETTY_BASE

RUN set -xe \
&& java -jar "$JETTY_HOME/start.jar" --create-startd --add-to-start="server,http,deploy,jsp,jstl,ext,resources,websocket" \
&& chown -R jetty:jetty "$JETTY_BASE" \
&& rm -rf /tmp/hsperfdata_root

ENV TMPDIR /tmp/jetty
RUN set -xe \
&& mkdir -p "$TMPDIR" \
&& chown -R jetty:jetty "$TMPDIR"

COPY docker-entrypoint.sh generate-jetty-start.sh /

USER jetty
EXPOSE 8080
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["java","-jar","/usr/local/jetty/start.jar"]
1 change: 1 addition & 0 deletions 9.4-jre11/arches
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x
109 changes: 109 additions & 0 deletions 9.4-jre11/docker-entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
#!/bin/sh

set -e

if [ "$1" = jetty.sh ]; then
if ! command -v bash >/dev/null 2>&1 ; then
cat >&2 <<- 'EOWARN'
********************************************************************
ERROR: bash not found. Use of jetty.sh requires bash.
********************************************************************
EOWARN
exit 1
fi
cat >&2 <<- 'EOWARN'
********************************************************************
WARNING: Use of jetty.sh from this image is deprecated and may
be removed at some point in the future.
See the documentation for guidance on extending this image:
https://github.com/docker-library/docs/tree/master/jetty
********************************************************************
EOWARN
fi

if ! command -v -- "$1" >/dev/null 2>&1 ; then
set -- java -jar "$JETTY_HOME/start.jar" "$@"
fi

: ${TMPDIR:=/tmp/jetty}
[ -d "$TMPDIR" ] || mkdir -p $TMPDIR 2>/dev/null

: ${JETTY_START:=$JETTY_BASE/jetty.start}

case "$JAVA_OPTIONS" in
*-Djava.io.tmpdir=*) ;;
*) JAVA_OPTIONS="-Djava.io.tmpdir=$TMPDIR $JAVA_OPTIONS" ;;
esac

if expr "$*" : 'java .*/start\.jar.*$' >/dev/null ; then
# this is a command to run jetty

# check if it is a terminating command
for A in "$@" ; do
case $A in
--add-to-start* |\
--create-files |\
--create-startd |\
--download |\
--dry-run |\
--exec-print |\
--help |\
--info |\
--list-all-modules |\
--list-classpath |\
--list-config |\
--list-modules* |\
--stop |\
--update-ini |\
--version |\
-v )\
# It is a terminating command, so exec directly
exec "$@"
esac
done

if [ $(whoami) != "jetty" ]; then
cat >&2 <<- EOWARN
********************************************************************
WARNING: User is $(whoami)
The user should be (re)set to 'jetty' in the Dockerfile
********************************************************************
EOWARN
fi

if [ -f $JETTY_START ] ; then
if [ $JETTY_BASE/start.d -nt $JETTY_START ] ; then
cat >&2 <<- EOWARN
********************************************************************
WARNING: The $JETTY_BASE/start.d directory has been modified since
the $JETTY_START files was generated. Either delete
the $JETTY_START file or re-run
/generate-jetty.start.sh
from a Dockerfile
********************************************************************
EOWARN
fi
echo $(date +'%Y-%m-%d %H:%M:%S.000'):INFO:docker-entrypoint:jetty start from $JETTY_START
set -- $(cat $JETTY_START)
else
# Do a jetty dry run to set the final command
"$@" --dry-run > $JETTY_START
if [ $(egrep -v '\\$' $JETTY_START | wc -l ) -gt 1 ] ; then
# command was more than a dry-run
cat $JETTY_START \
| awk '/\\$/ { printf "%s", substr($0, 1, length($0)-1); next } 1' \
| egrep -v '[^ ]*java .* org\.eclipse\.jetty\.xml\.XmlConfiguration '
exit
fi
set -- $(sed 's/\\$//' $JETTY_START)
fi
fi

if [ "${1##*/}" = java -a -n "$JAVA_OPTIONS" ] ; then
java="$1"
shift
set -- "$java" $JAVA_OPTIONS "$@"
fi

exec "$@"
7 changes: 7 additions & 0 deletions 9.4-jre11/generate-jetty-start.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/sh

if [ -z "$JETTY_START" ] ; then
JETTY_START=$JETTY_BASE/jetty.start
fi
rm -f $JETTY_START
/docker-entrypoint.sh --dry-run | sed 's/\\$//' > $JETTY_START
5 changes: 3 additions & 2 deletions 9.4-jre8/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ ENV PATH $JETTY_HOME/bin:$PATH
RUN mkdir -p "$JETTY_HOME"
WORKDIR $JETTY_HOME

ENV JETTY_VERSION 9.4.12.v20180830
ENV JETTY_VERSION 9.4.14.v20181114
ENV JETTY_TGZ_URL https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/$JETTY_VERSION/jetty-home-$JETTY_VERSION.tar.gz

# GPG Keys are personal keys of Jetty committers (see https://github.com/eclipse/jetty.project/blob/0607c0e66e44b9c12a62b85551da3a0edce0281e/KEYS.txt)
Expand All @@ -35,8 +35,9 @@ RUN set -xe \
&& curl -SL "$JETTY_TGZ_URL.asc" -o jetty.tar.gz.asc \
&& export GNUPGHOME="$(mktemp -d)" \
&& for key in $JETTY_GPG_KEYS; do \
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; done \
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; done \
&& gpg --batch --verify jetty.tar.gz.asc jetty.tar.gz \
&& gpgconf --kill all \
&& rm -rf "$GNUPGHOME" \
&& tar -xvf jetty.tar.gz --strip-components=1 \
&& sed -i '/jetty-logging/d' etc/jetty.conf \
Expand Down
7 changes: 4 additions & 3 deletions 9.4-jre8/alpine/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -33,20 +33,21 @@ ENV JETTY_GPG_KEYS \
RUN set -xe \
# Install required packages for build time. Will be removed when build finishes.
&& apk add --no-cache --virtual .build-deps gnupg curl \

\
&& curl -SL "$JETTY_TGZ_URL" -o jetty.tar.gz \
&& curl -SL "$JETTY_TGZ_URL.asc" -o jetty.tar.gz.asc \
&& export GNUPGHOME="$(mktemp -d)" \
&& for key in $JETTY_GPG_KEYS; do \
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; done \
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; done \
&& gpg --batch --verify jetty.tar.gz.asc jetty.tar.gz \
&& gpgconf --kill all \
&& rm -rf "$GNUPGHOME" \
&& tar -xvzf jetty.tar.gz \
&& mv jetty-home-$JETTY_VERSION/* ./ \
&& sed -i '/jetty-logging/d' etc/jetty.conf \
&& rm jetty.tar.gz* \
&& rm -fr jetty-home-$JETTY_VERSION/ \

\
# Remove installed packages and various cleanup
&& apk del .build-deps \
&& rm -fr .build-deps \
Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# About this Repo [![Build Status](https://travis-ci.org/appropriate/docker-jetty.svg?branch=master)](https://travis-ci.org/appropriate/docker-jetty)[![Stories in Ready](https://badge.waffle.io/appropriate/docker-jetty.png?label=ready&title=Ready)](https://waffle.io/appropriate/docker-jetty)

This is the Git repo of the official Docker image for [jetty](https://registry.hub.docker.com/_/jetty/). See the
Hub page for the full readme on how to use the Docker image and for information
regarding contributing and issues.
Hub page for the full readme on how to use the Docker image and for information regarding contributing and issues.

The full readme is generated over in [docker-library/docs](https://github.com/docker-library/docs),
specificially in [docker-library/docs/jetty](https://github.com/docker-library/docs/tree/master/jetty).

0 comments on commit 978c194

Please sign in to comment.