Hey Guys,
I am trying to get ansible working on docker. The image that I am using is ansible/ansible and there are no instructions for a run line on it.
So this is what I tried but it doesn’t work.
docker run -dit --name cfANS --ip xxx.xxx.x.xx --network=CFSNET -p 22:22 -v /mnt/clusterfs/ansible:/etc/ansible ansible/ansible
The following is the result of the run line:
a1cd233bf9f2 ansible/ansible:ubuntu1604 “/sbin/init” 7 seconds ago Exite d (1) 4 seconds ago
Any help with this would be appreciated
Thanks everyone
Hi,
according to the description on
https://hub.docker.com/r/ansible/ansible the Docker image
ansible/ansible is "[...] for automated testing of Ansible. They do not
include Ansible and are not for end users."
So please don't use that image if you want to run Ansible.
I'm not sure whether there are pre-built images for running Ansible,
especially because the requirements depend a lot on which plugins you
are using. You probably need to create your own: base it on some image
which includes Python and install Ansible and all requirements via pip.
Cheers,
Felix
PS: please note that not all participants are male on this mailing list.
Hello Felix,
I kind of figured that was going to be the story.
It would be nice if there was an easy way to do this, I am tring to get away from the VM route and go with containers. I will have to keep researching.
Thanks,
Hi Michael
You might want to check out ansible-runner: https://ansible-runner.readthedocs.io/en/latest/container.html
There’s also something like molecule which is designed for testing roles, and can be used with docker: https://molecule.readthedocs.io/en/latest/index.html
If you want to see how the latter works, check out this exercise: https://github.com/pharriso/ansible_workshop/tree/master/exercises/ansible_rhel/molecule
Regards
Phil.
I created a docker container to install Ansible for testing different versions, etc. As folks here have mentioned, it’s not really the purpose of the ansible/ansible image. However, I just run it with a sleep command at run time, for like 29000 seconds (eight hours) since the container has to execute something. It’s a bit of a hack, but then I have a purpose built docker container with Ansible.