Switch to OpenJ9 base image (#360)

This commit is contained in:
Geoff Bourne 2019-08-10 16:56:24 -05:00
parent f02baa8761
commit 93197ffb77
3 changed files with 27 additions and 2 deletions

View File

@ -1,4 +1,4 @@
FROM openjdk:8u212-jre-alpine FROM adoptopenjdk/openjdk8-openj9:alpine
LABEL maintainer "itzg" LABEL maintainer "itzg"
@ -75,7 +75,7 @@ WORKDIR /data
ENTRYPOINT [ "/start" ] ENTRYPOINT [ "/start" ]
ENV UID=1000 GID=1000 \ ENV UID=1000 GID=1000 \
JVM_XX_OPTS="-XX:+UseG1GC" MEMORY="1G" \ MEMORY="1G" \
TYPE=VANILLA VERSION=LATEST FORGEVERSION=RECOMMENDED SPONGEBRANCH=STABLE SPONGEVERSION= FABRICVERSION=LATEST LEVEL=world \ TYPE=VANILLA VERSION=LATEST FORGEVERSION=RECOMMENDED SPONGEBRANCH=STABLE SPONGEVERSION= FABRICVERSION=LATEST LEVEL=world \
PVP=true DIFFICULTY=easy ENABLE_RCON=true RCON_PORT=25575 RCON_PASSWORD=minecraft \ PVP=true DIFFICULTY=easy ENABLE_RCON=true RCON_PORT=25575 RCON_PASSWORD=minecraft \
LEVEL_TYPE=DEFAULT GENERATOR_SETTINGS= WORLD= MODPACK= MODS= SERVER_PORT=25565 ONLINE_MODE=TRUE CONSOLE=true SERVER_NAME="Dedicated Server" \ LEVEL_TYPE=DEFAULT GENERATOR_SETTINGS= WORLD= MODPACK= MODS= SERVER_PORT=25565 ONLINE_MODE=TRUE CONSOLE=true SERVER_NAME="Dedicated Server" \

View File

@ -1015,6 +1015,14 @@ via a `JVM_XX_OPTS` environment variable.
For some cases, if e.g. after removing mods, it could be necessary to startup minecraft with an additional `-D` parameter like `-Dfml.queryResult=confirm`. To address this you can use the environment variable `JVM_DD_OPTS`, which builds the params from a given list of values separated by space, but without the `-D` prefix. To make things running under systems (e.g. Plesk), which doesn't allow `=` inside values, a `:` (colon) could be used instead. The upper example would look like this: For some cases, if e.g. after removing mods, it could be necessary to startup minecraft with an additional `-D` parameter like `-Dfml.queryResult=confirm`. To address this you can use the environment variable `JVM_DD_OPTS`, which builds the params from a given list of values separated by space, but without the `-D` prefix. To make things running under systems (e.g. Plesk), which doesn't allow `=` inside values, a `:` (colon) could be used instead. The upper example would look like this:
`JVM_DD_OPTS=fml.queryResult:confirm`, and will be converted to `-Dfml.queryResult=confirm`. `JVM_DD_OPTS=fml.queryResult:confirm`, and will be converted to `-Dfml.queryResult=confirm`.
The container uses [OpenJ9](https://www.eclipse.org/openj9/docs) and a couple of J9 options are
simplified by environment variables:
- `-e TUNE_VIRTUALIZED=TRUE` : enables the option to
[optimize for virtualized environments](https://www.eclipse.org/openj9/docs/xtunevirtualized/)
- `-e TUNE_NURSERY_SIZES=TRUE` : configures nursery sizes where the initial size is 50%
of the `MAX_MEMORY` and the max size is 80%.
### HTTP Proxy ### HTTP Proxy
You may configure the use of an HTTP/HTTPS proxy by passing the proxy's URL via the `PROXY` You may configure the use of an HTTP/HTTPS proxy by passing the proxy's URL via the `PROXY`

View File

@ -84,6 +84,23 @@ if [ -n "$JVM_DD_OPTS" ]; then
done done
fi fi
if isTrue ${TUNE_VIRTUALIZED}; then
JVM_XX_OPTS="${JVM_XX_OPTS} -Xtune:virtualized"
fi
if isTrue ${TUNE_NURSERY_SIZES}; then
case ${MAX_MEMORY^^} in
*G)
MAX_MEMORY_MB=$(( ${MAX_MEMORY%?} * 1024 )) ;;
*M)
MAX_MEMORY_MB=${MAX_MEMORY%?} ;;
esac
NURSERY_MINIMUM=$(( ${MAX_MEMORY_MB} / 2 ))
NURSERY_MAXIMUM=$(( ${MAX_MEMORY_MB} * 4/5 ))
JVM_XX_OPTS="${JVM_XX_OPTS} -Xmns${NURSERY_MINIMUM}M -Xmnx${NURSERY_MAXIMUM}M"
fi
mcServerRunnerArgs="--stop-duration 60s" mcServerRunnerArgs="--stop-duration 60s"
if [[ ${TYPE} == "FEED-THE-BEAST" ]]; then if [[ ${TYPE} == "FEED-THE-BEAST" ]]; then