Skip to content

Instantly share code, notes, and snippets.

@BorzdeG
Last active February 16, 2017 09:11
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BorzdeG/5e21202008c8ef8d5e2b29db9469add9 to your computer and use it in GitHub Desktop.
Save BorzdeG/5e21202008c8ef8d5e2b29db9469add9 to your computer and use it in GitHub Desktop.
download docker image and unpack jdk
#!/usr/bin/env bash
JDK_TAG=8_jdk-dcevm_unlimited
DOCKER_IMAGE='anapsix/alpine-java:'$JDK_TAG
JDK_HOME=~/bin/$JDK_TAG
docker pull ${DOCKER_IMAGE}
update_jdk() {
echo 'update JDK version...'
mkdir -p $JDK_HOME
rm -Rf $JDK_HOME/*
docker run -it -v ${JDK_HOME}:/opt/ext_jdk ${DOCKER_IMAGE} /bin/bash -c "cp -R /opt/jdk/* /opt/ext_jdk/; chown -R $(id -u):$(id -g) /opt/ext_jdk/"
}
if [ ! -d "$JDK_HOME" ] || [ ! "$(ls -A ${JDK_HOME})" ]
then
echo 'not found local JDK'
update_jdk
fi
LOCAL_VERSION="$(${JDK_HOME}/bin/java -version 2>&1 | head -n 1 | awk -F '"' '{print $2}')"
DOCKER_VERSION="$(echo "$(docker run -it $DOCKER_IMAGE /opt/jdk/bin/java -version 2>&1)" | head -n 1 | awk -F '"' '{print $2}')"
if [ ! $LOCAL_VERSION == $DOCKER_VERSION ]
then
echo 'local JDK not equals docker JDK'
update_jdk
fi
echo "jdk local version: ${LOCAL_VERSION}"
echo "jdk docker version: ${DOCKER_VERSION}"
echo "--- local jdk version ---"
${JDK_HOME}/bin/java -version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment