Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/geerlingguy/docker-debian12-ansible
Debian 12 (Bookworm) Docker container for Ansible playbook and role testing.
https://github.com/geerlingguy/docker-debian12-ansible
ansible bookworm container debian docker linux testing
Last synced: 9 days ago
JSON representation
Debian 12 (Bookworm) Docker container for Ansible playbook and role testing.
- Host: GitHub
- URL: https://github.com/geerlingguy/docker-debian12-ansible
- Owner: geerlingguy
- License: mit
- Created: 2023-06-13T04:03:23.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-11-10T18:30:53.000Z (12 months ago)
- Last Synced: 2024-10-10T04:06:45.135Z (27 days ago)
- Topics: ansible, bookworm, container, debian, docker, linux, testing
- Language: Dockerfile
- Homepage: https://hub.docker.com/r/geerlingguy/docker-debian12-ansible
- Size: 5.86 KB
- Stars: 36
- Watchers: 4
- Forks: 7
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Debian 12 (Bookworm) Ansible Test Image
[![CI](https://github.com/geerlingguy/docker-debian12-ansible/workflows/Build/badge.svg?branch=master&event=push)](https://github.com/geerlingguy/docker-debian12-ansible/actions?query=workflow%3ABuild) [![Docker pulls](https://img.shields.io/docker/pulls/geerlingguy/docker-debian12-ansible)](https://hub.docker.com/r/geerlingguy/docker-debian12-ansible/)
Debian 12 (Bookworm) Docker container for Ansible playbook and role testing.
## Tags
- `latest`: Latest stable version of Ansible, with Python 3.x.
## How to Build
This image is built on Docker Hub automatically any time the upstream OS container is rebuilt, and any time a commit is made or merged to the `master` branch. But if you need to build the image on your own locally, do the following:
1. [Install Docker](https://docs.docker.com/engine/installation/).
2. `cd` into this directory.
3. Run `docker build -t debian12-ansible .`## How to Use
1. [Install Docker](https://docs.docker.com/engine/installation/).
2. Pull this image from Docker Hub: `docker pull geerlingguy/docker-debian12-ansible:latest` (or use the image you built earlier, e.g. `debian12-ansible`).
3. Run a container from the image: `docker run --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:rw --cgroupns=host geerlingguy/docker-debian12-ansible:latest` (to test my Ansible roles, I add in a volume mounted from the current working directory with ``--volume=`pwd`:/etc/ansible/roles/role_under_test:ro``).
4. Use Ansible inside the container:
a. `docker exec --tty [container_id] env TERM=xterm ansible --version`
b. `docker exec --tty [container_id] env TERM=xterm ansible-playbook /path/to/ansible/playbook.yml --syntax-check`## Notes
I use Docker to test my Ansible roles and playbooks on multiple OSes using CI tools like Jenkins and Travis. This container allows me to test roles and playbooks using Ansible running locally inside the container.
> **Important Note**: I use this image for testing in an isolated environment—not for production—and the settings and configuration used may not be suitable for a secure and performant production environment. Use on production servers/in the wild at your own risk!
## Author
Created in 2023 by [Jeff Geerling](https://www.jeffgeerling.com/), author of [Ansible for DevOps](https://www.ansiblefordevops.com/).