Minit is a minimalist init implementation for Docker. Minit behaves like a proper init(8) with a minimum of overhead, solving the problems caused by running, for example, a script as pid 1 inside your container, especially when the container involves multiple processes. If you're familiar with baseimage-docker, minit is a "correct init process". See minit on github for more details.
These images are meant to be used as a base for your own images. They're built on the Ubuntu base images (though there's no reason there couldn't also be CentOS or any other versions). For simple usage, simply make a
Dockerfile with contents like:
FROM chazomaticus/minit MAINTAINER your name RUN # any setup commands... ADD startup /etc/minit/startup
Make an executable
startup file with contents like:
#!/bin/sh /usr/sbin/sshd # For example
If you need to do anything special on shutdown (before minit automatically sends your processes
SIGTERM), make an executable
shutdown script and
ADD it to
Double check that
shutdown) are executable, then build the image.
These images all have a default
ENTRYPOINT pointing to minit, so your own arguments to
CMD or to
docker run on the command line will be passed as arguments to minit: the first, if non-empty, specifies an alternate startup script to execute, and the second specifies an alternate shutdown script. If you don't want that behavior, you can always set your own
ENTRYPOINT ["/sbin/minit/", "", ""].