Public | Automated Build

Last pushed: 2 years ago
Short Description
Short description is empty for this repo.
Full Description

Simple-Server (a web app stub)

A Docker container that provides a simple web server that can be toggled between good and bad states.

In its good state it returns code 200. In bad, returns 500

Useful for testing load balancers and other network gear that route based on the state of a web server

Uses a redis DB to save current good/bad state

Toggles are requested via the /toggle uri

Provision a Host

First start a redis container using the default port (latest version will do nicely)

sudo docker run -d --name redis redis:latest

Next, start the simple server and link to the redis server
The --link argument is formatted as <redis container name>:<resource name>

Per docker docs, the <resource name> provided will result in a bunch of environment variables in the simple-server container. Because we used <resource name>=redis, our simple-server container will include variables with a 'REDIS' prefix that describe stuff like the redis container IP address (which is different than the host IP), the ports exposed, etc. See config/ to see how these are leveraged to read/write data to/from redis.

So, this launch ...

sudo docker run --name simple-server --link redis:redis -e "WELCOME_MESSAGE=Welcome weary traveller!" -t -p 80:8090 thomasbjackson/simple-server

Will yield us a simple-server container named "simple-server" listening on host port 80, and using the redis server to store up/down state.

Provision a Host Behind a Proxy

Include environment variables in the docker run command (see commented out variable examples in Dockerfile)

Docker Pull Command
Source Repository