
geerlingguy/docker-amazonlinux2-ansibleAmazon Linux 2 Ansible测试镜像是一个基于Amazon Linux 2的Docker容器,专为Ansible剧本(playbook)和角色(role)的测试设计。该容器内置Ansible环境,提供隔离的运行环境,用于验证Ansible自动化逻辑在Amazon Linux 2系统上的兼容性和正确性。
latest:轻量级基础镜像,包含最新稳定版Ansible,适用于Ansible剧本和角色的基本功能验证。testing:扩展功能镜像,在latest基础上额外集成测试工具套件,包括:
yamllint(YAML语法检查工具)ansible-lint(Ansible语法及最佳实践检查工具)flake8(Python代码风格检查工具)testinfra(基础设施测试框架)molecule(Ansible角色测试工具)如需本地构建镜像,执行以下步骤:
cd /path/to/dockerfile/directorybashdocker build -t amazonlinux2-ansible .
说明:通过切换代码分支(
master分支构建基础版,testing分支构建带测试工具版),可生成对应功能的镜像。
直接从Docker Hub拉取预构建镜像:
bash# 拉取基础版(latest标签) docker pull geerlingguy/docker-amazonlinux2-ansible:latest # 拉取测试工具版(testing标签) docker pull geerlingguy/docker-amazonlinux2-ansible:testing
bashdocker run --detach \ --privileged \ --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro \ --name=ansible-test-container \ geerlingguy/docker-amazonlinux2-ansible:latest
参数说明:
--detach:后台运行容器--privileged:赋予容器特权模式(模拟系统级权限,支持服务管理)--volume=/sys/fs/cgroup:/sys/fs/cgroup:ro:挂载cgroup文件系统(只读),确保系统服务正常运行--name:自定义容器名称(可选)如需测试本地Ansible角色,添加角色目录挂载:
bashdocker run --detach \ --privileged \ --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro \ --volume=$(pwd):/etc/ansible/roles/role_under_test:ro \ geerlingguy/docker-amazonlinux2-ansible:latest
说明:
$(pwd)替换为本地Ansible角色的实际路径,ro表示只读挂载。
查看Ansible版本:
bashdocker exec --tty [容器ID/名称] env TERM=xterm ansible --version
检查剧本语法:
bashdocker exec --tty [容器ID/名称] env TERM=xterm ansible-playbook /path/to/playbook.yml --syntax-check
执行Ansible剧本:
bashdocker exec --tty [容器ID/名称] env TERM=xterm ansible-playbook /path/to/playbook.yml
由Jeff Geerling于2018年创建,其代表作包括《Ansible for DevOps》。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务