Skip to content

Ubuntu 16.04 LTS (Xenial) Docker container for Ansible playbook and role testing

License

Notifications You must be signed in to change notification settings

buluma/docker-ubuntu1604-ansible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ubuntu 16.04 LTS (Xenial) Ansible Test Image

Docker Automated build Docker pulls Docker Image CI Docker Github Build Build Status

Ubuntu 16.04 LTS (Xenial) Docker container for Ansible playbook and role testing.

How to Build

This image is built on Docker Hub automatically any time the upstream OS container is rebuilt, and any time a commit is made or merged to the master branch. But if you need to build the image on your own locally, do the following:

  1. Install Docker.
  2. cd into this directory.
  3. Run docker build -t ubuntu1604-ansible .

How to Use

  1. Install Docker.
  2. Pull this image from Docker Hub: docker pull buluma/docker-ubuntu1604-ansible:latest (or use the tag you built earlier, e.g. ubuntu1604-ansible).
  3. Run a container from the image: docker run --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro buluma/docker-ubuntu1604-ansible:latest /lib/systemd/systemd (to test my Ansible roles, I add in a volume mounted from the current working directory with --volume=`pwd`:/etc/ansible/roles/role_under_test:ro).
  4. Use Ansible inside the container: a. docker exec --tty [container_id] env TERM=xterm ansible --version b. docker exec --tty [container_id] env TERM=xterm ansible-playbook /path/to/ansible/playbook.yml --syntax-check

Notes

I use Docker to test my Ansible roles and playbooks on multiple OSes using CI tools like Jenkins and Travis. This container allows me to test roles and playbooks using Ansible running locally inside the container.

Important Note: I use this image for testing in an isolated environment—not for production—and the settings and configuration used may not be suitable for a secure and performant production environment. Use on production servers/in the wild at your own risk!

Author

Inspired by Jeff Geerling, author of Ansible for DevOps.