docker-centos7-ansible

CentOS 7 Docker container for Ansible playbook and role testing.

Github星跟踪图

CentOS 7 Ansible Test Image

Build Status Docker Automated build

CentOS 7 Docker container for Ansible playbook and role testing.

Tags

  • latest: Latest stable version of Ansible.
  • testing: Same as latest, but with additional testing dependencies, including:
    • yamllint
    • ansible-lint
    • flake8
    • testinfra
    • molecule

The latest tag is a lightweight image for basic validation of Ansible playbooks. The testing tag also includes a comprehensive suite of Ansible and infrastructure testing tools in case you want them pre-installed.

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.
  2. cd into this directory.
  3. Run docker build -t centos7-ansible .

Note: Switch between master and testing depending on whether you want the extra testing tools present in the resulting image.

How to Use

  1. Install Docker.
  2. Pull this image from Docker Hub: docker pull geerlingguy/docker-centos7-ansible:latest (or use the image you built earlier, e.g. centos7-ansible:latest).
  3. Run a container from the image: docker run --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro geerlingguy/docker-centos7-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 2016 by Jeff Geerling, author of Ansible for DevOps.

主要指标

概览
名称与所有者geerlingguy/docker-centos7-ansible
主编程语言Dockerfile
编程语言Dockerfile (语言数: 1)
平台
许可证MIT License
所有者活动
创建于2016-08-28 19:56:04
推送于2022-11-07 18:10:39
最后一次提交2021-06-25 15:35:55
发布数0
用户参与
星数103
关注者数7
派生数84
提交数24
已启用问题?
问题数16
打开的问题数7
拉请求数1
打开的拉请求数2
关闭的拉请求数3
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?