An multi-arch docker image based on node, containing python, ansible, pyavd and the ansible-galaxy arista.avd collection.
This repository contains:
Dockerfile- builds a container fromnode:<version>-slimand installs Python packages and Ansible collectionspip-requirements.txt- specifies Python package versionsrequirements.yml- specifies Ansible collections to install.github/workflows/docker-build.yml- GitHub Actions workflow that builds multi-architecture images and pushes to GitHub Container Registry (ghcr.io)
Images are published to GitHub Container Registry under the repository path:
ghcr.io/timherrm/docker-img-avdPackages can be found here
The workflow creates these tags on each build:
avd-<version>— the AVD collection version installed in the image (e.g.avd-5.7.2)avd-<version>-<YYYYMMDDhhmm>— AVD collection version with build date and time (e.g.avd-5.7.2-202510231803)latest— points to the latest build onmain
docker pull ghcr.io/timherrm/docker-img-avd:latestPython packages and their versions are managed in pip-requirements.txt. To add or update Python packages:
- Edit
pip-requirements.txt - Push to
main - The workflow will build a new image with updated packages
Ansible collections are managed in requirements.yml. To add or update collections:
- Edit
requirements.yml - Push to
main - The workflow will build a new image with updated collections
See LICENSE in this repository.