From bfb5d83138b936ce003d2dc1f28f409c82de0bc7 Mon Sep 17 00:00:00 2001 From: chibiegg Date: Sun, 7 May 2017 20:17:37 +0900 Subject: [PATCH] initial commit --- .gitignore | 3 +++ Dockerfile-commit | 15 +++++++++++++++ Dockerfile-initial | 14 ++++++++++++++ README.md | 22 ++++++++++++++++++++++ files/entrypoint.sh | 4 ++++ files/install.sh | 4 ++++ files/xstartup | 11 +++++++++++ 7 files changed, 73 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile-commit create mode 100644 Dockerfile-initial create mode 100644 README.md create mode 100755 files/entrypoint.sh create mode 100755 files/install.sh create mode 100644 files/xstartup diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9693b4f --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.DS_Store +work/ +files/*.bin diff --git a/Dockerfile-commit b/Dockerfile-commit new file mode 100644 index 0000000..4135112 --- /dev/null +++ b/Dockerfile-commit @@ -0,0 +1,15 @@ +FROM vivado:installed + +RUN rm -rf /tmp/.X* + +RUN useradd -ms /bin/bash vivado +USER vivado +WORKDIR /home/vivado + +RUN mkdir -p /home/vivado/.vnc +ADD files/xstartup /home/vivado/.vnc/xstartup +ADD files/entrypoint.sh /opt/entrypoint.sh + +ENV GEOMETRY 1024x768 + +CMD ["/opt/entrypoint.sh"] diff --git a/Dockerfile-initial b/Dockerfile-initial new file mode 100644 index 0000000..6d63576 --- /dev/null +++ b/Dockerfile-initial @@ -0,0 +1,14 @@ +FROM ubuntu:16.04 + +RUN apt-get update && apt-get -y upgrade && apt-get install -y libxrender-dev libxtst-dev vnc4server twm + +RUN mkdir -p /opt +ADD files/Xilinx_Vivado_SDK_2016.1_0409_1_Lin64.bin /opt/Xilinx_Vivado_SDK_2016.1_0409_1_Lin64.bin +RUN chmod +x /opt/Xilinx_Vivado_SDK_2016.1_0409_1_Lin64.bin +ADD files/install.sh /opt/install.sh + +ENV DISPLAY :0 + +EXPOSE 5900 + +CMD ["/opt/install.sh"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..1346de2 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +## Build + +Place installer at `files/Xilinx_Vivado_SDK_2016.1_0409_1_Lin64.bin`. + +``` +docker build -t vivado:initial -f Dockerfile-initial . +docker run -ti -p 5900:5900 --name vivado_install vivado:initial # Install with GUI +docker commit vivado_install vivado:installed +docker build -t vivado:2016.01 -f Dockerfile-commit . +``` + +## Run + +``` +docker run -ti -p 5900:5900 -v `pwd`/work:/home/vivado/ --rm vivado:2016.01 +``` + +and, connect to VNC server on the container. + +``` +open vnc://127.0.0.1:5900 +``` diff --git a/files/entrypoint.sh b/files/entrypoint.sh new file mode 100755 index 0000000..388444c --- /dev/null +++ b/files/entrypoint.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +vncserver -geometry ${GEOMETRY} :0 +/opt/Xilinx/Vivado/2016.1/bin/vivado diff --git a/files/install.sh b/files/install.sh new file mode 100755 index 0000000..f529fb3 --- /dev/null +++ b/files/install.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +vncserver :0 +/opt/Xilinx_Vivado_SDK_2016.1_0409_1_Lin64.bin diff --git a/files/xstartup b/files/xstartup new file mode 100644 index 0000000..6d6e706 --- /dev/null +++ b/files/xstartup @@ -0,0 +1,11 @@ +#!/bin/sh + +# Uncomment the following two lines for normal desktop: +# unset SESSION_MANAGER +# exec /etc/X11/xinit/xinitrc + +[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup +[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources +xsetroot -solid grey +vncconfig -iconic & +x-window-manager &