Today I am going to show how to put ansible on docker. You may ask why? Well, many reasons, first of all pure curiosity on how to do it, second,
you may end up in environment where you don’t have ansible installed nor you have a
permissions to install anything, but free to pull docker images, a sort of immutable infrastructure.
Apart from learning how to dockerize some tool, you also will have a chance to play with ansible and ansible-playbook, which is one of the most used devops tools these days.
So after a bit of googling I found how to install ansible, it is couple lines of bash script. With this information in hand, all we
have to do is just put the script into the Dockerfile, so I created a file called Dockerfile.ansible.cnf:
FROM ubuntu USER root RUN \ apt-get update && \ apt-get install -y software-properties-common && \ apt-add-repository ppa:ansible/ansible && \ apt-get update && \ apt-get install -y --force-yes ansible RUN mkdir /ansible WORKDIR /ansible
Let’s create an image and tag it:
docker build -f Dockerfile.ansible.cnf -t myansible .
Time to test it:
docker run --name myansible --rm myansible ansible --version ansible 2.4.0.0 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/dist-packages/ansible executable location = /usr/bin/ansible python version = 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609]
Nice work, let’s continue.
Comments closed