Giter Club home page Giter Club logo

ansible-container's Introduction

Build Status Code Coverage

Ansible Container

Ansible Container is a tool to build Docker images and orchestrate containers using only Ansible playbooks.

How it works

Use Ansible Container to manage 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 images to a container registry of your choice.

  • ansible-container shipit

    Generates the necessary playbook and role to deploy your containers on a supported cloud provider.

Installing

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 tour of Ansible Container visit our docs site.

If you just can't wait, the following provides a quick install and run of the demo app.

Assuming you already installed Ansible Container, start by creating an empty project folder, and then initialize it with a Container App from Ansible Galaxy:

$ mkdir demo
$ cd demo
$ ansible-container init chouseknecht.django-gulp-nginx

From the project directory, build the images:

$ ansible-container build

And finally, from the project directory, run the app:

$ ansible-container run

The demo web server is available at port 8080. If you're running Docker Machine, for example, you can access the site using the IP address of the Docker Machine host like so:

$ open http://$(docker-machine ip default):8080/admin

(Replace default with the name of your Docker Machine host.)

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 CONTRIBUTORS.md.

Authors

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

Ansible Container is an Ansible by Red Hat sponsored project.

ansible-container's People

Contributors

cdrage avatar chrrrles avatar concaf avatar dustymabe avatar gbraad avatar geerlingguy avatar gnosek avatar gregdek avatar lotia avatar mattclay avatar nonotest avatar pilou- avatar procrypt avatar roderickrandolph avatar sidharthsurana avatar

Watchers

 avatar  avatar

Forkers

sd2017

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.