Last active
September 11, 2020 01:42
-
-
Save pram/2a93827b24191ffe99d133e21d9fd9f3 to your computer and use it in GitHub Desktop.
Create Docker GUI Container
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
# From https://stackoverflow.com/questions/16296753/can-you-run-gui-applications-in-a-docker-container/25280523#25280523 | |
docker build -t xeyes - << __EOF__ | |
FROM debian | |
RUN apt-get update | |
RUN apt-get install -qqy x11-apps | |
ENV DISPLAY :0 | |
CMD xeyes | |
__EOF__ | |
XSOCK=/tmp/.X11-unix | |
XAUTH=/tmp/.docker.xauth | |
xauth nlist :0 | sed -e 's/^..../ffff/' | xauth -f $XAUTH nmerge - | |
docker run -ti -v $XSOCK:$XSOCK -v $XAUTH:$XAUTH -e XAUTHORITY=$XAUTH xeyes |
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
docker build -t xeyes - << __EOF__ | |
FROM debian | |
# Setup JAVA_HOME | |
ENV JAVA_HOME="/usr/lib/jvm/default-jvm" | |
# Install Oracle JDK (Java SE Development Kit) 8u192 with Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files for JDK/JRE 8 | |
RUN JAVA_VERSION=8 && \ | |
JAVA_UPDATE=192 && \ | |
JAVA_BUILD=12 && \ | |
JAVA_PATH=750e1c8617c5452694857ad95c3ee230 && \ | |
JAVA_SHA256_SUM=6d34ae147fc5564c07b913b467de1411c795e290356538f22502f28b76a323c2 && \ | |
JCE_SHA256_SUM=f3020a3922efd6626c2fff45695d527f34a8020e938a49292561f18ad1320b59 && \ | |
apt-get update && \ | |
apt-get -y install wget unzip && \ | |
apt-get install -qqy x11-apps && \ | |
cd "/tmp" && \ | |
wget --header "Cookie: oraclelicense=accept-securebackup-cookie;" "http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION}u${JAVA_UPDATE}-b${JAVA_BUILD}/${JAVA_PATH}/jdk-${JAVA_VERSION}u${JAVA_UPDATE}-linux-x64.tar.gz" && \ | |
echo "${JAVA_SHA256_SUM}" "jdk-${JAVA_VERSION}u${JAVA_UPDATE}-linux-x64.tar.gz" | sha256sum -c - && \ | |
wget --header "Cookie: oraclelicense=accept-securebackup-cookie;" "http://download.oracle.com/otn-pub/java/jce/${JAVA_VERSION}/jce_policy-${JAVA_VERSION}.zip" && \ | |
echo "${JCE_SHA256_SUM}" "jce_policy-${JAVA_VERSION}.zip" | sha256sum -c - && \ | |
tar -xzf "jdk-${JAVA_VERSION}u${JAVA_UPDATE}-linux-x64.tar.gz" && \ | |
mkdir -p "/usr/lib/jvm" && \ | |
mv "/tmp/jdk1.${JAVA_VERSION}.0_${JAVA_UPDATE}" "/usr/lib/jvm/java-${JAVA_VERSION}-oracle" && \ | |
ln -s "java-${JAVA_VERSION}-oracle" "$JAVA_HOME" && \ | |
ln -s "$JAVA_HOME/bin/"* "/usr/bin/" && \ | |
unzip -jo -d "$JAVA_HOME/jre/lib/security" "jce_policy-${JAVA_VERSION}.zip" && \ | |
rm -rf "$JAVA_HOME/"*src.zip \ | |
"$JAVA_HOME/lib/missioncontrol" \ | |
"$JAVA_HOME/lib/visualvm" \ | |
"$JAVA_HOME/lib/"*javafx* \ | |
"$JAVA_HOME/jre/lib/plugin.jar" \ | |
"$JAVA_HOME/jre/lib/ext/jfxrt.jar" \ | |
"$JAVA_HOME/jre/bin/javaws" \ | |
"$JAVA_HOME/jre/lib/javaws.jar" \ | |
"$JAVA_HOME/jre/lib/desktop" \ | |
"$JAVA_HOME/jre/plugin" \ | |
"$JAVA_HOME/jre/lib/"deploy* \ | |
"$JAVA_HOME/jre/lib/"*javafx* \ | |
"$JAVA_HOME/jre/lib/"*jfx* \ | |
"$JAVA_HOME/jre/lib/amd64/libdecora_sse.so" \ | |
"$JAVA_HOME/jre/lib/amd64/"libprism_*.so \ | |
"$JAVA_HOME/jre/lib/amd64/libfxplugins.so" \ | |
"$JAVA_HOME/jre/lib/amd64/libglass.so" \ | |
"$JAVA_HOME/jre/lib/amd64/libgstreamer-lite.so" \ | |
"$JAVA_HOME/jre/lib/amd64/"libjavafx*.so \ | |
"$JAVA_HOME/jre/lib/amd64/"libjfx*.so \ | |
"$JAVA_HOME/jre/bin/jjs" \ | |
"$JAVA_HOME/jre/bin/keytool" \ | |
"$JAVA_HOME/jre/bin/orbd" \ | |
"$JAVA_HOME/jre/bin/pack200" \ | |
"$JAVA_HOME/jre/bin/policytool" \ | |
"$JAVA_HOME/jre/bin/rmid" \ | |
"$JAVA_HOME/jre/bin/rmiregistry" \ | |
"$JAVA_HOME/jre/bin/servertool" \ | |
"$JAVA_HOME/jre/bin/tnameserv" \ | |
"$JAVA_HOME/jre/bin/unpack200" \ | |
"$JAVA_HOME/jre/lib/ext/nashorn.jar" \ | |
"$JAVA_HOME/jre/lib/jfr.jar" \ | |
"$JAVA_HOME/jre/lib/jfr" \ | |
"$JAVA_HOME/jre/lib/oblique-fonts" \ | |
"$JAVA_HOME/README.html" \ | |
"$JAVA_HOME/THIRDPARTYLICENSEREADME-JAVAFX.txt" \ | |
"$JAVA_HOME/THIRDPARTYLICENSEREADME.txt" \ | |
"$JAVA_HOME/jre/README" \ | |
"$JAVA_HOME/jre/THIRDPARTYLICENSEREADME-JAVAFX.txt" \ | |
"$JAVA_HOME/jre/THIRDPARTYLICENSEREADME.txt" \ | |
"$JAVA_HOME/jre/Welcome.html" \ | |
"$JAVA_HOME/jre/lib/security/README.txt" && \ | |
apt-get -y autoremove wget unzip && \ | |
apt-get -y clean && \ | |
rm -rf "/tmp/"* \ | |
"/var/cache/apt" \ | |
"/usr/share/man" \ | |
"/usr/share/doc" \ | |
"/usr/share/doc-base" \ | |
"/usr/share/info/*" | |
ENV DISPLAY :0 | |
CMD xeyes | |
__EOF__ | |
XSOCK=/tmp/.X11-unix | |
XAUTH=/tmp/.docker.xauth | |
xauth nlist :0 | sed -e 's/^..../ffff/' | xauth -f $XAUTH nmerge - | |
docker run -ti -v $XSOCK:$XSOCK -v $XAUTH:$XAUTH -e XAUTHORITY=$XAUTH xeyes | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment