A vagrant image with an environment to build Docker containers running Alpine linux and s6 process management (via s6-overlay).
The following describes the containers that are available and there inheritance chain:
| alpine-base
├─ alpine-consul
| ├─ alpine-consul-ui
| ├─ alpine-consul-base
| | ├─ alpine-consul-nodejs
| | ├─ alpine-consul-nginx
| | | └─ alpine-consul-nginx-nodejs
| | └─ alpine-consul-redis
├─ alpine-nginx
| └─ alpine-nginx-nodejs
├─ alpine-nodejs
├─ alpine-redis
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.9 MB.
An example of inheriting from this container and running it can be found here.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This image inherits from alpine-base, and includes Redis. You can read about using this image and customising it here.
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
.