Ansible Container is a tool to build Docker images and orchestrate containers using only Ansible playbooks.
Python Shell JavaScript Nginx CSS HTML Makefile
Latest commit 9d33c05 Feb 19, 2017 @chouseknecht chouseknecht committed on GitHub Adds cleanup and notes to Ansible Vault docs (#384)
Failed to load latest commit information.
.github Add request for `ansible-container --debug version` Jul 27, 2016
container Custom tagging for push and shipit (#372) Feb 9, 2017
docs Adds cleanup and notes to Ansible Vault docs (#384) Feb 19, 2017
proposals Remove * Nov 22, 2016
test WIP: Upgrade to Docker 1.12 (#316) Dec 14, 2016
.coveragerc Add unit and integration tests and run on Travis. Jun 20, 2016
.gitignore Support compose v2 (#320) Nov 28, 2016
.mailmap CI: execute the test suite using Python 3.4 and Python 3.5 (#300) Nov 16, 2016
.travis.yml Use Docker 1.12 for integration tests (#312) Nov 18, 2016
AUTHORS Adds cleanup and notes to Ansible Vault docs (#384) Feb 19, 2017 Keep info related to tests in test/ Sep 27, 2016 Create Jun 17, 2016
LICENSE Release prep stuff May 16, 2016 PyPI fail... or jagfail... or both... Jul 28, 2016
Makefile Add *develop* command and update *test* command in Makefile. Add *--f… Aug 15, 2016 Updates badge (#358) Jan 16, 2017
ROADMAP.rst Red Hat (not RedHat) (#346) Jan 2, 2017
codecov.yml Add unit and integration tests and run on Travis. Jun 20, 2016
pre-commit Add pre-commit script and update AUTHORS Sep 26, 2016
requirements.txt Match requests to docker-py, and be flexible on PyYaml, Jinja2. (#354) Jan 12, 2017 Give House top billing. Jul 27, 2016
tox.ini CI: execute the test suite using Python 3.4 and Python 3.5 (#300) Nov 16, 2016 Python 3-ify the `pre-commit` script so it works on py3-only hosts (#338 Dec 14, 2016

Build Status Code Coverage

Ansible Container

Ansible Container is a tool for building Docker images and orchestrating containers using Ansible playbooks.

How it works

Use Ansible Container to manage the container lifecycle from development, through testing, to production:

  • ansible-container init

    Creates a directory ansible with files to get you started. Read the comments, and edit to suit your needs.

  • ansible-container install

    Downloads Ansible-Container-ready roles from Ansible Galaxy, and installs them in your project.

  • ansible-container build

    Creates images from your Ansible playbooks.

  • ansible-container run

    Launches the containers specified in the orchestration document, container.yml, for testing the built images. The format of container.yml is nearly identical to Docker Compose.

  • ansible-container push

    Pushes the project's container images to a registry of your choice.

  • ansible-container shipit

    Generates a playbook and role capable of deploying the project on a supported cloud provider.


Install using pip, the Python package manager:

$ sudo pip install ansible-container

Or, to install without root privileges, use virtualenv to first create a Python sandbox:

$ virtualenv ansible-container
$ source ansible-container/bin/activate
$ pip install ansible-container

For more details, prerequisite, and instructions on installing the latest development release, please view our Installation Guide.

Getting started

For examples and a quick tour of Ansible Container visit Getting Started at our docs site.

Visit the Ansible Container Demo for a complete walk-through of managing an application from development through cloud deployment.

Get Involved

Branch Information

  • The develop branch is the release actively under development.
  • The master branch corresponds to the latest stable release available at PyPi.
  • Submit pull requests for bug fixes and new features to develop.
  • View the roadmap for a list of features currently under development.
  • Contributors welcome! Get started by reviewing


View AUTHORS for a list contributors to Ansible Container. Thanks everyone!

Ansible Container is an Ansible by Red Hat sponsored project.