Docker Ansible images¶
The willhallonline/ansible images provide ready-to-run Docker images for
Ansible automation. They are built from common Linux base images and published
with tags that make the Ansible minor version and operating system explicit.
Image repository
The public image name is willhallonline/ansible on Docker Hub. The source
repository is willhallonline/docker-ansible.
Registries and source¶
| Resource | Location |
|---|---|
| Docker Hub image | willhallonline/ansible |
| GitHub source | willhallonline/docker-ansible |
| Dockerfiles | ansible-core/<os-dir>/Dockerfile |
| Older releases | Historical streams outside the active matrix |
Dockerfiles are grouped by base operating system and version. Examples include:
ansible-core/alpine-3.21/Dockerfileansible-core/alpine-3.22/Dockerfileansible-core/alpine-3.23/Dockerfileansible-core/alpine-3.24/Dockerfileansible-core/debian-bookworm/Dockerfileansible-core/debian-bookworm-slim/Dockerfileansible-core/debian-trixie/Dockerfileansible-core/debian-trixie-slim/Dockerfileansible-core/rockylinux-10/Dockerfileansible-core/ubuntu-24.04/Dockerfileansible-core/ubuntu-26.04/Dockerfile
Naming convention¶
Supported moving tags use this pattern:
For example:
The tag tells you two things:
- the Ansible minor stream, such as
2.21; and - the base operating system, such as
alpine-3.24orubuntu-24.04.
Prefer explicit tags
Use explicit tags such as 2.21-alpine-3.24 in automation. Convenience
tags are useful for quick tests, but explicit tags make upgrades deliberate.
Convenience tags¶
| Tag | Points to |
|---|---|
latest |
Ansible 2.21 on Alpine 3.24 |
alpine |
Ansible 2.21 on Alpine 3.24 |
ubuntu |
Ansible 2.21 on Ubuntu 24.04 |
Pulling a convenience tag is simple:
For repeatable builds, pin the operating system and Ansible stream instead:
Immutable and pinned tags¶
In addition to moving minor tags, immutable tags are also published with the full Ansible patch version and full base operating system version. The pattern is:
Browse the full list on Docker Hub tags when you need a specific patch release.
Moving versus pinned tags
Tags such as 2.21-alpine-3.24 track the current image for that Ansible
minor stream and base. Fully pinned tags are better when exact image
reproduction matters.
Image philosophy¶
The images are intended to be practical Ansible control-node containers. Each image includes:
ansible-corefrom PyPI;- the
ansiblecommunity package from PyPI; ansible-lintfrom PyPI; and- Python plus the tooling needed to run Ansible against remote hosts.
That supporting tooling typically includes SSH client capability, password-based SSH support where available, Git, certificate handling, and common system packages expected by Ansible workflows.
Current Ansible core streams¶
The supported image matrix currently covers these Ansible core versions:
| Minor | Current core version |
|---|---|
| 2.18 | 2.18.19 |
| 2.19 | 2.19.13 |
| 2.20 | 2.20.9 |
| 2.21 | 2.21.4 |
See the complete supported tag matrix for the operating systems that are available for each stream.
Base image families¶
| Family | Page | Package manager | Notes |
|---|---|---|---|
| Alpine | Alpine images | apk |
Small, musl libc based |
| Debian | Debian images | apt |
General-purpose glibc base, normal and slim variants |
| Ubuntu | Ubuntu images | apt |
Familiar CI and workstation base |
| Rocky Linux | Rocky Linux images | dnf |
Enterprise Linux compatible base |
Architectures¶
Current tags generally publish AMD64 and ARM64 variants, but manifests are
tag-specific. For example, 2.21-ubuntu-24.04 is AMD64-only and no ARMv7/32-bit
ARM images are published. See architectures for platform
specific pull and run examples.
Regular rebuilds¶
Images are rebuilt regularly, including dependency updates managed through Renovate. This keeps the supported streams current without changing the public tagging scheme.
Unsupported streams
Older Ansible streams such as 2.9 through 2.17 are outside the active matrix and unmaintained. See older releases before depending on any historical tag.
Next steps¶
- Start with choosing an image.
- Review the tag matrix.
- Learn how to run playbooks.
- Extend an image for project-specific tools in extending images.
- Use the images in CI workflows.