Sign inSign up

barisgece/ansible-docker

By barisgece

•Updated over 1 year ago

Image
0

4.4K

barisgece/ansible-docker repository overview

⁠Ansible inside Docker (ansible-docker)

Ansible inside Docker for consistent running of ansible inside local machine or CI/CD system. ansible-docker is based on Will Hall's⁠ gorgeous docker-ansible⁠ project.

Docker Pulls Docker Automated build Docker Build Status

All installs include Mitogen mainly due to the performance improvements that Mitogen awards you. You can read more about it inside the Mitogen for Ansible documentation⁠.

⁠Current Ansible & Ansible Core Versions

These are the latest Ansible Core versions running within the containers:

  • Ansible : 11.7.0
  • Ansible Core : 2.18.6
  • Ansible Lint : 25.6.1
  • Ansible : 10.5.0
  • Ansible Core : 2.17.5
  • Ansible Lint : 24.9.2
  • Ansible : 9.4.0
  • Ansible Core : 2.16.5
  • Ansible Lint : 24.2.1
  • Ansible : 8.7.0
  • Ansible Core : 2.15.10
  • Ansible Lint : 6.17.2
  • Ansible : 6.7.0
  • Ansible Core : 2.13.7
  • Ansible Lint : 5.4.0

⁠Ansible Images

⁠Running Ansible 2.13.7
TagDockerfileImage Size
2.13-alpineDockerfile⁠ Alpine Image Size
2.13-ubuntu-20.04Dockerfile⁠ Ubuntu Image Size
2.13-ubuntu-22.04Dockerfile⁠ Ubuntu Image Size
⁠Running Ansible 2.15.10
TagDockerfileImage Size
2.15-alpineDockerfile⁠ Alpine Image Size
2.15-ubuntu-22.04Dockerfile⁠ Ubuntu Image Size
⁠Running Ansible 2.16.5
TagDockerfileImage Size
2.16-alpineDockerfile⁠ Alpine Image Size
2.16-ubuntu-22.04Dockerfile⁠ Ubuntu Image Size
⁠Only Core - Running Ansible 2.16.5 - Only kubernetes.core Collection
TagDockerfileImage Size
2.16-coreDockerfile⁠ Ansible Core Image Size
⁠Running Ansible 2.17.5
TagDockerfileImage Size
2.17-alpineDockerfile⁠ Alpine Image Size
⁠Only Core - Running Ansible 2.17.5 - Only kubernetes.core Collection
TagDockerfileImage Size
2.17-coreDockerfile⁠ Ansible Core Image Size
⁠Running Ansible 2.18.6
TagDockerfileImage Size
2.18-alpineDockerfile⁠ Alpine Image Size
⁠Only Core - Running Ansible 2.18.6 - Only kubernetes.core Collection
TagDockerfileImage Size
2.18-coreDockerfile⁠ Ansible Core Image Size

To leverage Mitogen to accelerate your playbook runs, add this to your ansible.cfg:

Please investigate in your container the location of ansible_mitogen (it is different per container). You can do this via:

your_container="ansible-docker:2.18-alpine"
docker run --rm -it "barisgece/${your_container}" /bin/sh -c "find / -type d | grep "ansible_mitogen/plugins" | sort | head -n 1"

and then configuring your own ansible.cfg like:

[defaults]
strategy_plugins = /usr/local/lib/python3.6/site-packages/ansible_mitogen/plugins/
strategy = mitogen_linear

⁠Build

$~   docker buildx build --platform linux/amd64,linux/arm64 -t barisgece/ansible-docker:2.18-alpine --push . # or --load .
$~   docker buildx build --platform linux/amd64,linux/arm64 -t barisgece/ansible-docker:2.18-core --push . # or --load .

⁠Running

You will likely need to mount required directories into your container to make it run (or build on top of what is here).

⁠Simple
$~   docker run --rm -it barisgece/ansible-docker:2.18-alpine /bin/sh
⁠Mount local directory and ssh key
$~  docker run --rm -it -v $(pwd):/ansible -v ~/.ssh/id_rsa:/root/id_rsa barisgece/ansible-docker:2.18-alpine /bin/sh
⁠Injecting commands
$~  docker run --rm -it -v $(pwd):/ansible -v ~/.ssh/id_rsa:/root/id_rsa barisgece/ansible-docker:2.18-alpine ansible-playbook playbook.yml
⁠Bash Alias

You can put these inside your dotfiles (~/.bashrc or ~/.zshrc to make handy aliases).

alias docker-ansible-cli='docker run --rm -it -v $(pwd):/ansible -v ~/.ssh/id_rsa:/root/.ssh/id_rsa --workdir=/ansible barisgece/ansible-docker:2.18-alpine /bin/sh'
alias docker-ansible-cmd='docker run --rm -it -v $(pwd):/ansible -v ~/.ssh/id_rsa:/root/.ssh/id_rsa --workdir=/ansible barisgece/ansible-docker:2.18-alpine'

use with:

$~  docker-ansible-cli ansible-playbook -u playbook.yml
⁠Maintainer
⁠Special Thanks to

Tag summary

Content type

Image

Digest

sha256:8a3d57379…

Size

74.2 MB

Last updated

over 3 years ago

docker pull barisgece/ansible-docker