From 143746bc9d2d33e10062628e4dca0ba21a436bf9 Mon Sep 17 00:00:00 2001 From: Mate Farkas <mate.farkas@sch.hu> Date: Tue, 1 Nov 2016 18:30:03 +0000 Subject: [PATCH] Mini-init has been added. --- docker/xenial/Dockerfile | 7 ++++--- docker/xenial/README.md | 16 ++++++++++++++++ .../{root/bin/start_ssh => etc/mini-init/ssh} | 0 docker/xenial/sbin/mini-init | 13 +++++++++++++ 4 files changed, 33 insertions(+), 3 deletions(-) rename docker/xenial/{root/bin/start_ssh => etc/mini-init/ssh} (100%) create mode 100644 docker/xenial/sbin/mini-init diff --git a/docker/xenial/Dockerfile b/docker/xenial/Dockerfile index 0afaa4f..1a8e363 100644 --- a/docker/xenial/Dockerfile +++ b/docker/xenial/Dockerfile @@ -15,9 +15,10 @@ RUN chown -R vagrant. /home/vagrant/ ADD etc/sudoers.d/vagrant /etc/sudoers.d/vagrant -ADD root/bin/start_ssh /root/bin/start_ssh -RUN chmod 0700 /root/bin/start_ssh +ADD sbin/mini-init /sbin/mini-init +RUN chmod u+x /sbin/mini-init +ADD etc/mini-init /etc/mini-init EXPOSE 22 -CMD /root/bin/start_ssh +CMD /sbin/mini-init diff --git a/docker/xenial/README.md b/docker/xenial/README.md index 8ed25f2..c069e6c 100644 --- a/docker/xenial/README.md +++ b/docker/xenial/README.md @@ -2,3 +2,19 @@ Base image for Vagrant using Ubuntu 16.04 LTS (Xenial Xerus). +## mini-init + +The container by default starts with the **/sbin/mini-init** process, which executes binaries located under **/etc/mini-init**. + +The binaries are executed in alphabetical order and the boot process is logged in **/var/log/mini-init.log**. + +The *last* binary shouldn't exit. Make sure that an **ssh** daemon is running to be able to use the container with **Vagrant**. + +Example: + + /etc/mini-init/ + 10-disks + 20-networks + 50-services + 99-ssh + diff --git a/docker/xenial/root/bin/start_ssh b/docker/xenial/etc/mini-init/ssh similarity index 100% rename from docker/xenial/root/bin/start_ssh rename to docker/xenial/etc/mini-init/ssh diff --git a/docker/xenial/sbin/mini-init b/docker/xenial/sbin/mini-init new file mode 100644 index 0000000..84e9c3c --- /dev/null +++ b/docker/xenial/sbin/mini-init @@ -0,0 +1,13 @@ +#!/bin/bash + +CONFDIR="/etc/mini-init" +LOGFILE="/var/log/mini-init.log" + +for file in `ls $CONFDIR` +do + script="$CONFDIR/$file" + echo "Running startup script: $script" >> $LOGFILE + bash -x $script &>> $LOGFILE + echo "Startup script [$script] finished with exit code: $?" >> $LOGFILE +done + -- GitLab