From 6ce9dc15255fe455efa445c2106ec993cadc45f5 Mon Sep 17 00:00:00 2001 From: Doro Wu Date: Wed, 19 Feb 2014 15:16:14 +0800 Subject: [PATCH] init --- Dockerfile | 38 ++++++++++++++++++++++++++++++++++++++ startup.sh | 12 ++++++++++++ supervisord.conf | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 Dockerfile create mode 100755 startup.sh create mode 100644 supervisord.conf diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ede9408 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,38 @@ +FROM ubuntu:12.04 +MAINTAINER Doro Wu + +ENV DEBIAN_FRONTEND noninteractive +ENV HTTP_PROXY http://172.17.42.1:3134 + +# setup our Ubuntu sources (ADD breaks caching) +RUN echo "deb http://us.archive.ubuntu.com/ubuntu/ precise main\n\ +deb http://us.archive.ubuntu.com/ubuntu/ precise multiverse\n\ +deb http://us.archive.ubuntu.com/ubuntu/ precise universe\n\ +deb http://us.archive.ubuntu.com/ubuntu/ precise restricted\n\ +"> /etc/apt/sources.list + +# no Upstart or DBus +# https://github.com/dotcloud/docker/issues/1724#issuecomment-26294856 +RUN apt-mark hold initscripts udev plymouth mountall +RUN dpkg-divert --local --rename --add /sbin/initctl && ln -s /bin/true /sbin/initctl + +RUN apt-get update + +# install our "base" environment +RUN apt-get install -y --no-install-recommends openssh-server pwgen sudo vim-tiny +RUN apt-get install -y --no-install-recommends lxde +RUN apt-get install -y --no-install-recommends x11vnc xvfb +RUN apt-get install -y supervisor +RUN apt-get install -y libreoffice +RUN apt-get install -y firefox + +ADD startup.sh / +ADD supervisord.conf / + +# clean up after ourselves +RUN apt-get clean + +EXPOSE 5900 +EXPOSE 22 +WORKDIR / +ENTRYPOINT ["/startup.sh"] diff --git a/startup.sh b/startup.sh new file mode 100755 index 0000000..36c7629 --- /dev/null +++ b/startup.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +mkdir /var/run/sshd + +# create an ubuntu user +PASS=`pwgen -c -n -1 10` +PASS=ubuntu +echo "User: ubuntu Pass: $PASS" +useradd --create-home --shell /bin/bash --user-group --groups adm,sudo ubuntu +echo "ubuntu:$PASS" | chpasswd + +exec /usr/bin/supervisord -c /supervisord.conf -n diff --git a/supervisord.conf b/supervisord.conf new file mode 100644 index 0000000..6027398 --- /dev/null +++ b/supervisord.conf @@ -0,0 +1,46 @@ +[supervisord] +nodaemon=false + +[program:ssh] +priority=10 +directory=/ +command=/usr/sbin/sshd -D +user=root +autostart=true +autorestart=true +stopsignal=QUIT + +[program:xvfb] +priority=10 +directory=/ +command=/usr/bin/Xvfb :1 -screen 0 1024x768x16 +user=root +autostart=true +autorestart=true +stopsignal=QUIT +stdout_logfile=/var/log/xvfb.log +stderr_logfile=/var/log/xvfb.err + +[program:lxsession] +priority=15 +directory=/home/ubuntu +command=/usr/bin/lxsession +user=ubuntu +autostart=true +autorestart=true +stopsignal=QUIT +environment=DISPLAY=":1" +stdout_logfile=/var/log/lxsession.log +stderr_logfile=/var/log/lxsession.err + +[program:x11vnc] +priority=20 +directory=/ +command=x11vnc -display :1 -xkb +#command=x11vnc -display :1 -listen localhost -xkb +user=root +autostart=true +autorestart=true +stopsignal=QUIT +stdout_logfile=/var/log/x11vnc.log +stderr_logfile=/var/log/x11vnc.err