/docker-alpine-1

A vagrant image with an environment to build Docker containers running Alpine linux and s6 process management.

Primary LanguageShellMIT LicenseMIT

docker-alpine

A vagrant image with an environment to build Docker containers running Alpine linux and s6 process management (via s6-overlay).

Read more about the design of the Docker images and how they help to make process management within Docker containers quick and simple.

Containers

The following describes the containers that are available and the inheritance chain:

| alpine-base
├─ alpine-apache
├─ alpine-confd
├─ alpine-consul
|  ├─ alpine-consul-ui
|  ├─ alpine-consul-base
|  |  ├─ alpine-consul-apache
|  |  ├─ alpine-consul-nodejs
|  |  ├─ alpine-consul-nginx
|  |  |  └─ alpine-consul-nginx-nodejs
|  |  └─ alpine-consul-redis
├─ alpine-nginx
|  └─ alpine-nginx-nodejs
├─ alpine-nodejs
├─ alpine-redis

alpine-base

This image is the base for all containers. It contains Alpine Linux and s6 via s6-overlay. It is super small and does nothing else. It clocks in at a tiny 11.5 MB.

An example of inheriting from this container and running it can be found here.

Latest version is 1.2.0, or latest (VERSIONS.md).

alpine-apache

This image inherits from alpine-base, and includes apache with a very basic configuration. You can read about using this image and customising it here. An example of inheriting from this container and running Apache can be found here.

Latest version is 1.0.0, or latest (VERSIONS.md).

alpine-confd

This image inherits from alpine-base and adds confd into the mix. This image should be seen as a base image which should be used for heavy customisation. It's quite lean featuring only Alpine Linux, s6 and confd. Read here for more information. An example of inheriting from this container and running Consul can be found here.

Latest version is 1.1.0, or latest (VERSIONS.md).

alpine-consul

This image inherits from alpine-base and adds Consul into the mix. By default, it's setup as a consul server (with a bootstrap-expect of 1), so it will need some customisation. Read here for more information. An example of inheriting from this container and running Consul can be found here.

Latest version is 1.1.0, or latest (VERSIONS.md).

alpine-consul-base

This image inherits from alpine-consul and is designed specifically to be inherited from, to create other images which require a work Consul setup. Consul is setup to run in agent mode, it expects one linked container called consul-agent and will automatically join to that ip. Read here for more information.

Latest version is 1.0.0, or latest (VERSIONS.md).

alpine-consul-apache

This image inherits from alpine-consul-base and is perfect if you're looking to run Apache within a Docker setup and wanting to benefit from Consul for service registration and discovery. Read here for more information. An example of inheriting from this container and running apache can be found here.

Latest version is 1.0.0, or latest (VERSIONS.md).

alpine-consul-nodejs

This image inherits from alpine-consul-base and is perfect if you're looking to run a Node.js application within a Docker setup and wanting to benefit from Consul for service registration and discovery. Read here for more information. An example of inheriting from this container and running a Node.js website can be found here.

alpine-consul-nginx

This image inherits from alpine-consul-base and is perfect if you're looking to run Nginx within a Docker setup and wanting to benefit from Consul for service registration and discovery. Read here for more information. An example of inheriting from this container and running nginx can be found here.

Latest version is 1.0.0, or latest (VERSIONS.md).

alpine-consul-nginx-nodejs

This image inherits from alpine-consul-nginx and is perfect if you're looking to run nginx to proxy to a Node.js application, or if you're wanting to run nginx as a load balancer (proxying to external containers) and using Node.js for nginx configuration. Read here for more information. An example of inheriting from this container and running nginx with Node.js can be found here.

alpine-consul-redis

This image inherits from alpine-consul-base and provides a Redis container benefiting from Consul for service registration and discovery. Read here for more information. An example of inheriting from this container can be found here.

alpine-consul-ui

The image inherits from alpine-consul, and is geared up to run the Consul Web UI.

There are some configuration options which can be read here. An example of inheriting from this container and running Consul can be found here.

alpine-nginx

This image inherits from alpine-base, and includes nginx with a very basic configuration. You can read about using this image and customising it here. An example of inheriting from this container and running Nginx can be found here.

Latest version is 2.1.1, or latest (VERSIONS.md).

alpine-nginx-nodejs

This image inherits from alpine-nginx, and includes nginx and Node.js. This image is great if you want run nginx, but have Node.js do all of the configuration for Nginx. You can read about using this image and customising it here.

An example of inheriting from this container and running it can be found here.

Latest version is 2.1.1, or latest (VERSIONS.md).

alpine-nodejs

This image inherits from alpine-base, and includes Node.js. You can read about using this image and customising it here. An example of inheriting from this container and running a Node.js script can be found here.

alpine-redis

This image inherits from alpine-base, and includes Redis. You can read about using this image and customising it here.

Versioning

Each image has it's own version and will be updated independently. All versions follow semver. If a software package or the operating system the image uses is updated, the level of update will be reflected in the new version number, for example:

  • if Alpine Linux is upgraded from 3.2 to 3.3, then the image version will receive a minor increment
  • if Alpine Linux is upgraded from 3.3 to 4, then the image version will receive a major increment
  • if s6-overlay is upgraded to the latest patch upgrade, and nginx is upgraded to the latest minor upgrade, then the image version will will receive a minor increment

Setup

Setup the vagrant machine by running vagrant up --provider=vmware_fusion. This will get you a VM running a pretty basic version of Ubuntu with:

  • Docker (latest at the time of running vagrant up, for the first time).
  • Installed packages software-properties-common, build-essential.