Public | Automated Build

Last pushed: 6 months ago
Short Description
Generalised Docker container for AWS & other tasks.
Full Description



Generalised Docker container for AWS & other tasks. Has support for the following:

  • vi - because you'll need vi at some point.
  • AWS CLI - Command line interface for using Amazon Web Services.
  • ipython - nice interactive Python shell.
  • boto3 - Python library for using AWS.
  • pika - Python library for RabbitMQ.
  • requests - HTTP request handling library.
  • python-consul - Python library for Consul.
  • Fabric - Python library for scipting general remote server tasks.
  • pycrypto - Crypt support library for Python.
  • pylint - Keep your Python code up to scratch.
  • redis - Redis support for Python.

    General Use

Copy the file to something else, say, and add in your AWS details:


docker rm -f aws-gen
docker run \
--name aws-gen \
-v ~/myproject:/project \
-e AWS_DEFAULT_REGION=eu-west-1 \
-e EC2_URL= \
-ti \
chrisramsay/aws-gen \

To run the container:

$ ./

Edit the file to add as many extra mount commands as you need, as well as adding any credentials you might want to access AWS and Consul.


The Dockerfile ADDs a bashrc file to give an extra few niceties on the command line:

  • Coloured command line prompt with machine name
  • A handful of shell aliases
  • AWS command line tab completion (see below)

AWS CLI comes with command completion set up so that you can tab away all those spare keyboard strokes:

aws-gen:/srv$ aws s<TAB>
s3               sdb              ses              snowball         sqs              storagegateway   support
s3api            servicecatalog   sms              sns              ssm              sts              swf

Build Script

There is a file packaged here. This is to help with further development of the container. One of a number of possible options must be passed at run time.


Runs the standard docker build command with a few build arguments; tags as both verson and latest picking up build version from the VERSION file.


Does not execute docker build. Instead modifies the Dockerfile replacing in-place values from the Dockerfile.tmpl with label values. This should be done prior to a tagged release.


Used in order to reinstate the normal Dockerfile for continuing development. Utility function only.

Development Process

  • Create a new release branch
  • Change directory to the build directory
  • Bump the version number in build/VERSION
  • Run $ ./ restore to set up a clean Dockerfile
  • Make any required changes to build/Dockerfile.tmpl
  • Run $ ./ build to build current tag and latest
  • Once all the work is complete, run $ ./ release
  • Merge and tag the release

Docker Pull Command
Source Repository