This is a base Docker image for building other images. Contains:
- Ubuntu Server 16.04 LTS (Xenial)
- Supervisor for process supervision
- Python (dependency for Supervisor)
- Cron scheduler
- Nano text editor
- Curl
- Git version control
- Zip and unzip
Container also:
- runs cron as a supervised service
- sets locale (en_US.UTF-8 to support UTF-8)
- installs and sets unattended-upgrades (automatic security patches)
- fixes 'Error opening terminal: unknown' in docker exec for older Docker versions
This base image doesn't do anything useful. It is intended for building other images on top of the base packages.
1. Download the public Docker image from Dockerhub:
docker pull mtmacdonald/docker-base:version
2. Run the Docker image as a new Docker container:
docker run -d --restart=always --name=appname mtmacdonald/docker-base:version
1. Use docker exec to get a terminal in an already running container:
docker exec -it appname bash
Supervisor monitors and automatically restarts services.
1. To inspect status and manually manage services:
supervisorctl
2. To add new services, add configuration files to /etc/supervisord
This image is loosely based on ideas from phusion/baseimage-docker.