Container image with Ansible and clients for Docker, Podman and OpenStack
10K+
Container image with Ansible and CLI for Docker, Libvirt, Podman and OpenStack.
GitLab Project : yoanncolin/container-images/ansible.
Check end of life dates before chosing your version :
| Version | Base image | Rebuild | Tags | Source |
|---|---|---|---|---|
| 14 | gwerlas/openstack-client:gazpacho | Weekly | 14.0.0, 2.21.0, 14.0, 2.21, 14, 2, 14.0.0-alpine, 2.21.0-alpine, 14.0-alpine, 2.21-alpine, 14-alpine, 2-alpine, alpine, latest | Dockerfile |
| 14 | debian:forky | Weekly | 14.0.0-debian, 2.21.2-debian, 14.0-debian, 2.21-debian, 14-debian, 2-debian, debian | Dockerfile |
| 13 | gwerlas/openstack-client:flamingo | Monthly | 13.8.0, 2.20.8, 13.8, 2.20, 13, 13.8.0-alpine, 2.20.8-alpine, 13.8-alpine, 2.20-alpine, 13-alpine | Dockerfile |
| 12 | gwerlas/openstack-client:flamingo | Monthly | 12.3.0, 2.19.12, 12.3, 2.19, 12, 12.3.0-alpine, 2.19.12-alpine, 12.3-alpine, 2.19-alpine, 12-alpine | Dockerfile |
Key tools embedded in each actively rebuilt image :
| Tool | 14 | 13 | 12 | 14 (debian) |
|---|---|---|---|---|
| ansible | 14.0.0 | 13.8.0 | 12.3.0 | 14.0.0 |
| ansible-core | 2.21.0 | 2.20.8 | 2.19.12 | 2.21.2 |
| helm | 4.2.2 | 3.19.0 | 3.19.0 | 4.2.4 |
| kubectl | 1.36.1 | 1.34.2 | 1.34.2 | 1.37.0 |
| podman | 5.8.6 | 5.7.0 | 5.7.0 | 5.8.6 |
| docker | 29.5.3 | 29.5.2 | 29.5.2 | 28.5.2 |
| openstack | 9.0.0 | 8.2.0 | 8.2.0 | 9.0.0 |
| openssl | 3.5.8 | 3.5.7 | 3.5.7 | 3.6.3 |
| git | 2.54.0 | 2.52.0 | 2.52.0 | 2.53.0 |
| java | 21.0.12 | 21.0.12 | 21.0.12 | 25.0.4 |
More details about the embedded software with :
docker run --rm -t gwerlas/ansible ansible-playbook versions.yml
Simple usages
docker run gwerlas/ansible ansible --version
docker run gwerlas/ansible ansible-galaxy collection list
The container runs as the build user (non-root) inherited from the
gwerlas/openstack-client image. When mounting a local directory, make sure
it is readable and writable by that user, or pass your own UID/GID. The default
working directory is /home/build/work.
Installing your role and running a playbook :
docker run \
-v $PWD:/home/build/work \
gwerlas/ansible \
ansible-galaxy collection install -r requirements.yml
docker run --rm -t \
-v $HOME/.ansible:/home/build/.ansible \
-v $PWD:/home/build/work \
gwerlas/ansible \
ansible-playbook playbook.yml
With Docker, mounting the libvirt or the container socket :
docker run \
-v $HOME/.ansible:/home/build/.ansible \
-v $PWD:$PWD -w $PWD \
-v /run/libvirt:/run/libvirt \
gwerlas/ansible ...
docker run \
-v $HOME/.ansible:/home/build/.ansible \
-v $PWD:/home/build/work \
-v /run/docker.sock:/run/docker.sock \
gwerlas/ansible ...
With rootless Podman :
systemctl start --user podman.service
podman run \
--userns=keep-id \
-v $HOME/.ansible:/home/build/.ansible \
-v $PWD:/home/build/work \
-v $XDG_RUNTIME_DIR/podman/podman.sock:/run/docker.sock \
gwerlas/ansible ...
Edit an Ansible Vault file (with nano by default, or set EDITOR=vim) :
docker run --rm -ti \
-e EDITOR=nano \
-v <my-dir>:/work -w /work \
gwerlas/ansible \
ansible-vault edit <my-vault-file>.yml
To make some Ansible modules usable, we embed some system tools and python modules.
Content type
Image
Digest
sha256:b6a91e816…
Size
517.1 MB
Last updated
7 days ago
docker pull gwerlas/ansible