Ubuntu 16.04 LTS (Xenial Xerus) Docker Image
This image provides a standard ubuntu docker base image for other docker images to build on top of.
Ensure you specify a user id (UID) other than zero. Running as root is not tested / support a supported configuration.
Extending this image
You can easily extend the behavour of this image in the following ways
Executables placed in this directory are executed very early on, before anything else is done.
If it exists, this is executed if the default command is not overridden. After it's execution completes the default command is executed.
If it exists, this is executed if default command is overridden. After it's execution completes the default command is executed.
Executables placed in this directory are executed just before supervisord is executed.
If it exists, this is executed once supervisord is read. This is triggered from supervisord itself, when it fires the SUPERVISOR_STATE_CHANGE_RUNNING event.
- Make a Dockerfile and specify
- Anything you want run in the container should be started by supervisord.
- Use a directory called files if you need to copy files in to your new image (see Dockerfile for this image as an example).
Building and testing
A simple Makefile is included for your convience. It assumes a linux environment with a docker socket avialable at
To build and test just run
You can also just
make build and
make test separately.
Please see the top of the Makefile for various variables which you may choose to customise. Variables may be passed as arguments, e.g.
make IMAGE_NAME=bob or
make build BUILD_ARGS="--rm --no-cache"
Modifying the tests
The tests depend on shared testing code found in its own git repository called drone-tests.
To use a different tests repository set the TESTS_REPO variable to the git URL for the alternative repository. e.g.
To use a locally modified copy of the tests repository set the TESTS_LOCAL variable to the absolute path of where it is located. This variable will override the TESTS_REPO variable. e.g.