-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial commit of project files from appropriate/docker-jetty
- Loading branch information
Chris Walker
committed
May 21, 2020
1 parent
13e3f2b
commit f4b8a22
Showing
38 changed files
with
1,959 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
--- | ||
language: bash | ||
|
||
dist: trusty | ||
|
||
env: | ||
- VERSION=9.2-jre8 | ||
- VERSION=9.3-jre8 | ||
- VERSION=9.4-jre8 | ||
- 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}" | ||
|
||
script: | ||
- docker build --pull -t "$image" . | ||
- ~/official-images/test/run.sh "$image" |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
FROM openjdk:8-jre | ||
|
||
ENV JETTY_VERSION 9.2.29.v20191105 | ||
ENV JETTY_HOME /usr/local/jetty | ||
ENV JETTY_BASE /var/lib/jetty | ||
ENV TMPDIR /tmp/jetty | ||
ENV PATH $JETTY_HOME/bin:$PATH | ||
ENV JETTY_TGZ_URL https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/$JETTY_VERSION/jetty-distribution-$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 <[email protected]> | ||
AED5EE6C45D0FE8D5D1B164F27DED4BF6216DB8F \ | ||
# Jesse McConnell <[email protected]> | ||
2A684B57436A81FA8706B53C61C3351A438A3B7D \ | ||
# Joakim Erdfelt <[email protected]> | ||
5989BAF76217B843D66BE55B2D0E1FB8FE4B68B4 \ | ||
# Joakim Erdfelt <[email protected]> | ||
B59B67FD7904984367F931800818D9D68FB67BAC \ | ||
# Joakim Erdfelt <[email protected]> | ||
BFBB21C246D7776836287A48A04E0C74ABB35FEA \ | ||
# Simone Bordet <[email protected]> | ||
8B096546B1A8F02656B15D3B1677D141BCF3584D \ | ||
# Greg Wilkins <[email protected]> | ||
FBA2B18D238AB852DF95745C76157BDF03D0DCD6 \ | ||
# Greg Wilkins <[email protected]> | ||
5C9579B3DB2E506429319AAEF33B071B29559E1E | ||
|
||
RUN set -xe \ | ||
&& mkdir /jetty-keys \ | ||
&& export GNUPGHOME=/jetty-keys; \ | ||
for key in $JETTY_GPG_KEYS; do \ | ||
for server in \ | ||
ha.pool.sks-keyservers.net \ | ||
p80.pool.sks-keyservers.net:80 \ | ||
ipv4.pool.sks-keyservers.net \ | ||
pgp.mit.edu ; \ | ||
do \ | ||
if gpg --batch --keyserver "$server" --recv-keys "$key"; then \ | ||
break; \ | ||
fi; \ | ||
done; \ | ||
done \ | ||
&& mkdir -p "$JETTY_HOME" \ | ||
&& cd $JETTY_HOME \ | ||
&& curl -SL "$JETTY_TGZ_URL" -o jetty.tar.gz \ | ||
&& curl -SL "$JETTY_TGZ_URL.asc" -o jetty.tar.gz.asc \ | ||
&& gpg --batch --verify jetty.tar.gz.asc jetty.tar.gz \ | ||
&& tar -xvf jetty.tar.gz --strip-components=1 \ | ||
&& sed -i '/jetty-logging/d' etc/jetty.conf \ | ||
&& rm -fr jetty.tar.gz* \ | ||
&& mkdir -p "$JETTY_BASE" \ | ||
&& cd $JETTY_BASE \ | ||
&& modules="$(grep -- ^--module= "$JETTY_HOME/start.ini" | cut -d= -f2 | paste -d, -s)" \ | ||
&& java -jar "$JETTY_HOME/start.jar" --add-to-startd="$modules" \ | ||
&& mkdir -p "$TMPDIR" \ | ||
&& groupadd -r jetty && useradd -r -g jetty jetty \ | ||
&& chown -R jetty:jetty "$JETTY_HOME" "$JETTY_BASE" "$TMPDIR" \ | ||
&& rm -rf /tmp/hsperfdata_root | ||
|
||
WORKDIR $JETTY_BASE | ||
COPY docker-entrypoint.sh generate-jetty-start.sh / | ||
|
||
USER jetty | ||
EXPOSE 8080 | ||
ENTRYPOINT ["/docker-entrypoint.sh"] | ||
CMD ["java","-jar","/usr/local/jetty/start.jar"] |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
amd64 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
#!/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 | ||
JAVA="$1" | ||
shift | ||
exec $JAVA $JAVA_OPTIONS "$@" | ||
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 | ||
JAVA="$1" | ||
shift | ||
$JAVA $JAVA_OPTIONS "$@" --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 -e 's/ -Djava.io.tmpdir=[^ ]*//g' -e 's/\\$//' $JETTY_START) | ||
fi | ||
fi | ||
|
||
if [ "${1##*/}" = java -a -n "$JAVA_OPTIONS" ] ; then | ||
JAVA="$1" | ||
shift | ||
set -- "$JAVA" $JAVA_OPTIONS "$@" | ||
fi | ||
|
||
exec "$@" |
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
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 -e 's/ -Djava.io.tmpdir=[^ ]*//g' -e 's/\\$//' > $JETTY_START |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
FROM openjdk:8-jre | ||
|
||
ENV JETTY_VERSION 9.3.28.v20191105 | ||
ENV JETTY_HOME /usr/local/jetty | ||
ENV JETTY_BASE /var/lib/jetty | ||
ENV TMPDIR /tmp/jetty | ||
ENV PATH $JETTY_HOME/bin:$PATH | ||
ENV JETTY_TGZ_URL https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/$JETTY_VERSION/jetty-distribution-$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 <[email protected]> | ||
AED5EE6C45D0FE8D5D1B164F27DED4BF6216DB8F \ | ||
# Jesse McConnell <[email protected]> | ||
2A684B57436A81FA8706B53C61C3351A438A3B7D \ | ||
# Joakim Erdfelt <[email protected]> | ||
5989BAF76217B843D66BE55B2D0E1FB8FE4B68B4 \ | ||
# Joakim Erdfelt <[email protected]> | ||
B59B67FD7904984367F931800818D9D68FB67BAC \ | ||
# Joakim Erdfelt <[email protected]> | ||
BFBB21C246D7776836287A48A04E0C74ABB35FEA \ | ||
# Simone Bordet <[email protected]> | ||
8B096546B1A8F02656B15D3B1677D141BCF3584D \ | ||
# Greg Wilkins <[email protected]> | ||
FBA2B18D238AB852DF95745C76157BDF03D0DCD6 \ | ||
# Greg Wilkins <[email protected]> | ||
5C9579B3DB2E506429319AAEF33B071B29559E1E | ||
|
||
RUN set -xe \ | ||
&& mkdir /jetty-keys \ | ||
&& export GNUPGHOME=/jetty-keys; \ | ||
for key in $JETTY_GPG_KEYS; do \ | ||
for server in \ | ||
ha.pool.sks-keyservers.net \ | ||
p80.pool.sks-keyservers.net:80 \ | ||
ipv4.pool.sks-keyservers.net \ | ||
pgp.mit.edu ; \ | ||
do \ | ||
if gpg --batch --keyserver "$server" --recv-keys "$key"; then \ | ||
break; \ | ||
fi; \ | ||
done; \ | ||
done \ | ||
&& mkdir -p "$JETTY_HOME" \ | ||
&& cd $JETTY_HOME \ | ||
&& curl -SL "$JETTY_TGZ_URL" -o jetty.tar.gz \ | ||
&& curl -SL "$JETTY_TGZ_URL.asc" -o jetty.tar.gz.asc \ | ||
&& gpg --batch --verify jetty.tar.gz.asc jetty.tar.gz \ | ||
&& tar -xvf jetty.tar.gz --strip-components=1 \ | ||
&& sed -i '/jetty-logging/d' etc/jetty.conf \ | ||
&& rm -fr jetty.tar.gz* \ | ||
&& mkdir -p "$JETTY_BASE" \ | ||
&& cd $JETTY_BASE \ | ||
&& modules="$(grep -- ^--module= "$JETTY_HOME/start.ini" | cut -d= -f2 | paste -d, -s)" \ | ||
&& java -jar "$JETTY_HOME/start.jar" --add-to-startd="$modules" \ | ||
&& mkdir -p "$TMPDIR" \ | ||
&& groupadd -r jetty && useradd -r -g jetty jetty \ | ||
&& chown -R jetty:jetty "$JETTY_HOME" "$JETTY_BASE" "$TMPDIR" \ | ||
&& rm -rf /tmp/hsperfdata_root | ||
|
||
WORKDIR $JETTY_BASE | ||
COPY docker-entrypoint.sh generate-jetty-start.sh / | ||
|
||
USER jetty | ||
EXPOSE 8080 | ||
ENTRYPOINT ["/docker-entrypoint.sh"] | ||
CMD ["java","-jar","/usr/local/jetty/start.jar"] |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
amd64 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
#!/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 | ||
JAVA="$1" | ||
shift | ||
exec $JAVA $JAVA_OPTIONS "$@" | ||
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 | ||
JAVA="$1" | ||
shift | ||
$JAVA $JAVA_OPTIONS "$@" --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 -e 's/ -Djava.io.tmpdir=[^ ]*//g' -e 's/\\$//' $JETTY_START) | ||
fi | ||
fi | ||
|
||
if [ "${1##*/}" = java -a -n "$JAVA_OPTIONS" ] ; then | ||
JAVA="$1" | ||
shift | ||
set -- "$JAVA" $JAVA_OPTIONS "$@" | ||
fi | ||
|
||
exec "$@" |
Oops, something went wrong.