Percheron
Organise your Docker containers with muscle and intelligence.
Features
- Single, easy to write
.percheron.yml
controls everything - Supports building, creating and starting of containers and their dependancies
- Supports building using a Dockerfile or pulling a Docker image from Docker Hub
- Build 'base' images as a dependancy and then build from there
- Support for pre-build and post-start scripts when generating images and starting containers
- Version control of building images and containers
- Written in Ruby :)
Supported platforms
- Linux
- MacOS 10.9+
Installation
Add this line to your application's Gemfile:
gem 'percheron'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install percheron
Requirements
- Ruby 2.x
- Docker 1.6.x / Boot2Docker v1.6.x+
- Docker client (nice to have)
Usage
TODO
Demo
Debugging
To debug Percheron, set the DEBUG=true
environment variable.
To debug Percheron and Docker, set the DOCKER_DEBUG=true
environment variable.
Examples
- Rails - Rails 4.2, PostgreSQL, redis, HAProxy and postfix
- Redis - Redis cluster + sentinel, master, two slaves and tools
- Torrent - Tracker (chihaya), seeder (aria2) and three peers (aria2)
- SaltStack - SaltStack v2015.2.0rc2 with master and minion
Testing
All (cane, RuboCop, unit and integration):
bundle exec rake test
Style (cane and RuboCop):
bundle exec rake test:style
Contributing
- Fork it ( https://github.com/ashmckenzie/percheron/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Run
bundle exec rake test
- Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request