Skip to content

quiknode-labs/docker-ansible-core

 
 

Repository files navigation

Ansible Core + additions

Docker Pulls License CI

Ansible Core with additions.

Note! This image is called ansible-core but installs ansible-base for v2.10 (EOL). For later versions, v2.11 and onwards the ansible-core package is installed.

If you find bugs or got improvements of the container, feel free to submit it here.

Simple Tags

  • v2.15-alpine
  • v2.15-ubuntu
  • v2.15-almalinux8

Shared Tags

  • v2.15, latest-alpine, latest
    • v2.15-alpine

Additions

Users/Groups

Container will run as user ansible-10000 by default. However, when you build your own image based on this root will be set and you need to set it back yourself to ansible-10000 if you want.

  • ansible-1000
    • uid=1000
    • gid=1000
  • ansible-1001
    • uid=1001
    • gid=1001
  • ansible-10000
    • uid=10000
    • gid=10000

Note! All ansible users will have sudo rights. This is for convenience since some roles etc are not that well implemented.

Packages/Tools

  • docker-cli
  • git
  • openssh
  • sudo
  • gosu

How to use this container

Below assume a playbook.yml file is located in current directory:

# docker run --rm -v ${PWD}:/mnt haxorof/ansible-core

To override the default command set you can just add your own arguments after the images name:

# docker run --rm -v ${PWD}:/mnt haxorof/ansible-core ansible -m setup -c local localhost

How to use Docker CLI with Ansible to target Python container

Start a Python container in a terminal:

# docker run -it --rm --name=target python sh

In a second terminal run the following which will do an Ansible ping to that Python container:

# docker run --rm -v /var/run/docker.sock:/var/run/docker.sock haxorof/ansible-core sh -c "echo 'target ansible_connection=docker' > hosts && ansible -m ping -i hosts all"