A base image for running just about anything within a container, based on Alpine Linux 3.1.
This image includes s6 (via s6-overlay), to make it super simple to start multiple process and manage them correctly.
Aren't you only supposed to run one process per container? Well yes and no... the following are good examples of when multiple processes within one container might be necessary:
To use this image include FROM smebberson/alpine-base at the top of your Dockerfile. Starting from smebberson/alpine-base provides you with the ability to easily start any service using s6. s6 will also keep it running for you, restarting it when it crashes.
To start your service using s6:
/etc/services.d/service-namerun and give it execute permissions#!/usr/bin/env bash
# start nginx
exec nginx;
If you want to run a script when your application stops, simply:
/etc/services.d/service-name folder called finish and give it execute permissionsIn this file, do whatever you need to, but keep it quick and simple (anything over 3 seconds and s6 will force quit it). Once this script has run, s6 will call /etc/services.d/service-name/run again to restart your service.
There is also further information about how to use CMD with s6-overlay.
s6 has a number of other options that you can use to customise what happens when your process suddenly dies. s6-overlay also has a guide to customising s6 (when using s6-overlay).
An example of using this image can be found in the smebberson/nodejs Dockerfile.
Content type
Image
Digest
sha256:794f4e5bb…
Size
5 MB
Last updated
over 11 years ago
docker pull wickedmonkey/base-image