Run Ansible Playbook inside Docker container?

1,537 views
Skip to first unread message

Alejandro Ferrari

unread,
Jun 30, 2015, 12:52:13 AM6/30/15
to ansible...@googlegroups.com
Hi All, 

I like to know if someone is using Ansible to provisioning inside a Docker container... and how use this?

I has all my infrastructure in Playbooks, now l like to use this to create Dockers for each of my microservices... but I can't found some alternatives... 

As we know Ansible use SSH but de best practice of Docker is NOT use SSH to login into container... for this reason my doubt...

Some idea or advices about how use this?

Thanks
Alejandro

Erik Anderson

unread,
Jun 30, 2015, 1:26:02 AM6/30/15
to ansible...@googlegroups.com
Sure, the general pattern I follow is thus:

1. I use a base docker image that already has ansible installed.
2. In your Dockerfile, use the COPY command to copy your ansible files
(playbook yaml, files, etc.) into the container. Something like:

COPY ansible/ /tmp/ansible/

3. After the copy, in your Dockerfile, run ansible-playbook on the
files you copied into the container in the previous step:

RUN ansible-playbook /tmp/ansible/foo.yml -i /tmp/ansible/hosts

In this case, /tmp/ansible/hosts just contains:

[local]
127.0.0.1

And in the playbook, I specify:

- hosts: local
connection: local

4. After the playbook completes, remove the ansible files you copied
in during step 2.
> --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to ansible-proje...@googlegroups.com.
> To post to this group, send email to ansible...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/eb3bbdb6-f34e-48c8-af70-2f34819f0a52%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Michael Merritt

unread,
May 19, 2016, 1:23:36 PM5/19/16
to Ansible Project
Thank you! This got me up and going fast.

Mike Biancaniello

unread,
May 19, 2016, 3:27:20 PM5/19/16
to Ansible Project
I hadn't thought of using Ansible to create Docker images before, but this is an interesting way to do this, instead of using a complicated Dockerfile to manage each variety of service.

I might want to figure out a way to be able to build an image for each group in your hosts file.
Reply all
Reply to author
Forward
0 new messages