diff --git a/Dockerfile b/Dockerfile index f819206..a3339bb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,11 +4,6 @@ MAINTAINER Doro Wu ENV DEBIAN_FRONTEND noninteractive ENV HOME /root -# 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 -sf /bin/true /sbin/initctl - RUN apt-get update \ && apt-get install -y --force-yes --no-install-recommends supervisor \ openssh-server pwgen sudo vim-tiny \ @@ -16,15 +11,16 @@ RUN apt-get update \ lxde x11vnc xvfb \ gtk2-engines-murrine ttf-ubuntu-font-family \ libreoffice firefox \ + fonts-wqy-microhei \ + language-pack-zh-hant language-pack-gnome-zh-hant firefox-locale-zh-hant libreoffice-l10n-zh-tw \ && apt-get autoclean \ && apt-get autoremove \ - && rm -rf /var/lib/apt/lists/* + && rm -rf /var/lib/apt/lists/* + ADD noVNC /noVNC/ ADD startup.sh / -ADD supervisord.conf / +ADD supervisord.conf /etc/ EXPOSE 6080 -EXPOSE 5900 -EXPOSE 22 -WORKDIR / +WORKDIR /root ENTRYPOINT ["/startup.sh"] diff --git a/startup.sh b/startup.sh index 764d091..a36ce57 100755 --- a/startup.sh +++ b/startup.sh @@ -9,8 +9,4 @@ PASS=ubuntu id -u ubuntu &>/dev/null || useradd --create-home --shell /bin/bash --user-group --groups adm,sudo ubuntu echo "ubuntu:$PASS" | chpasswd -/usr/bin/supervisord -c /supervisord.conf - -while [ 1 ]; do - /bin/bash -done +/usr/bin/supervisord -c /etc/supervisord.conf -n diff --git a/supervisord.conf b/supervisord.conf index 1a6b2c0..ce7aac6 100644 --- a/supervisord.conf +++ b/supervisord.conf @@ -1,14 +1,12 @@ [supervisord] +nodaemon=true +logfile_maxbytes=10MB +pidfile=/var/run/supervisord.pid +logfile=/var/log/supervisord.log nodaemon=false -[program:ssh] -priority=10 -directory=/ -command=/usr/sbin/sshd -D -user=root -autostart=true -autorestart=true -stopsignal=QUIT +[supervisorctl] +serverurl=unix:///var/run/supervisor.sock [program:xvfb] priority=10 @@ -19,7 +17,7 @@ autostart=true autorestart=true stopsignal=QUIT stdout_logfile=/var/log/xvfb.log -stderr_logfile=/var/log/xvfb.err +redirect_stderr=true [program:lxsession] priority=15 @@ -31,19 +29,18 @@ autorestart=true stopsignal=QUIT environment=DISPLAY=":1",HOME="/home/ubuntu" stdout_logfile=/var/log/lxsession.log -stderr_logfile=/var/log/lxsession.err +redirect_stderr=true [program:x11vnc] priority=20 directory=/ -command=x11vnc -display :1 -xkb -#command=x11vnc -display :1 -listen localhost -xkb +command=/bin/dash -c "while :; do x11vnc -display :1 -xkb; done" user=root autostart=true autorestart=true stopsignal=QUIT stdout_logfile=/var/log/x11vnc.log -stderr_logfile=/var/log/x11vnc.err +redirect_stderr=true [program:novnc] priority=25 @@ -54,4 +51,5 @@ autostart=true autorestart=true stopsignal=QUIT stdout_logfile=/var/log/novnc.log -stderr_logfile=/var/log/novnc.err +redirect_stderr=true +stopasgroup=true