
willhallonline/ansibleAnsible Docker 镜像旨在提供一致的 Ansible 运行环境,适用于本地机器或 CI/CD 系统。通过容器化 Ansible,可确保在不同环境中运行 Ansible 时的一致性,避免因依赖差异导致的问题。
查看 变更日志 了解最新更新。
!Docker Pulls !Docker Image Size (tag)
linux/arm64(适用于 Macbook 和 AWS Graviton)及 linux/arm/v7/linux/arm/v6(适用于树莓派,实验性)。ansible-core、ansible、ansible-lint 等核心工具。容器中运行的最新 Ansible Core 版本如下:
旧版本(如 2.9、2.10、2.11、2.12)已归入未维护部分,仍可使用但不再更新。更多版本信息参见 Ansible 发布文档 和 Ansible-core 与 Python 兼容性。
提供多个不可变镜像,标签格式为 Ansible版本-基础操作系统版本。具体版本可在 Docker Hub 标签页 中查询。
包含以下组件:
ansible-core (<[***]>)ansible (<[***]>)ansible-lint (<[***]>)| 基础镜像 (↓) \ Ansible版本 (→) | Dockerfile | 2.13 | 2.14 | 2.15 | 2.16 | 2.17 | 2.18 |
|---|---|---|---|---|---|---|---|
| Latest | Dockerfile | latest | |||||
| Alpine | Dockerfile | alpine | |||||
| Ubuntu | Dockerfile | ubuntu | |||||
| Alpine 3.18 | Dockerfile | 2.13-alpine-3.18 | 2.14-alpine-3.18 | 2.15-alpine-3.18 | 2.16-alpine-3.18 | 2.17-alpine-3.18 | 2.18-alpine-3.18 |
| Alpine 3.19 | Dockerfile | 2.13-alpine-3.19 | 2.14-alpine-3.19 | 2.15-alpine-3.19 | 2.16-alpine-3.19 | 2.17-alpine-3.19 | 2.18-alpine-3.19 |
| Alpine 3.20 | Dockerfile | 2.16-alpine-3.20 | 2.17-alpine-3.20 | 2.18-alpine-3.20 | |||
| Alpine 3.21 | Dockerfile | 2.16-alpine-3.21 | 2.17-alpine-3.21 | 2.18-alpine-3.21 | |||
| Alpine 3.22 | Dockerfile | 2.16-alpine-3.22 | 2.17-alpine-3.22 | 2.18-alpine-3.22 | |||
| Bullseye (Debian 11) | Dockerfile | 2.14-debian-bullseye | 2.15-debian-bullseye | ||||
| Bullseye Slim (Debian 11) | Dockerfile | 2.14-debian-bullseye-slim | 2.15-debian-bullseye-slim | ||||
| Bookworm (Debian 12) | Dockerfile | 2.14-debian-bookworm | 2.15-debian-bookworm | 2.16-debian-bookworm | 2.17-debian-bookworm | 2.18-debian-bookworm | |
| Bookworm Slim (Debian 12) | Dockerfile | 2.14-debian-bookworm-slim | 2.15-debian-bookworm-slim | 2.16-debian-bookworm-slim | 2.17-debian-bookworm-slim | 2.18-debian-bookworm-slim | |
| Rocky Linux 9 | Dockerfile | 2.13-rockylinux-9 | 2.14-rockylinux-9 | 2.15-rockylinux-9 | |||
| Ubuntu 20.04 | Dockerfile | 2.13-ubuntu-20.04 | |||||
| Ubuntu 22.04 | Dockerfile | 2.14-ubuntu-22.04 | 2.15-ubuntu-22.04 | 2.16-ubuntu-22.04 | 2.17-ubuntu-22.04 | ||
| Ubuntu 24.04 | Dockerfile | 2.15-ubuntu-24.04 | 2.16-ubuntu-24.04 | 2.17-ubuntu-24.04 | 2.18-ubuntu-24.04 |
linux/arm64(适用于 Macbook 和 AWS Graviton):支持 latest 和 alpine 标签。linux/arm/v7 和 linux/arm/v6(适用于树莓派):支持 arm 标签(实验性)。以下版本不再更新,但仍可用于遗留工作负载:
ansible-core + ansible,需 Python ≥3.8。ansible-core + ansible,需 Python 3。ansible-base。ansible。所有旧版本均包含 ansible-lint。具体标签及 Dockerfile 链接可参考 原文档旧版本表格。
所有镜像均预装 Mitogen 以提升剧本执行效率。使用前需配置 ansible.cfg,步骤如下:
查找 Mitogen 路径:在容器中执行以下命令获取 ansible_mitogen 插件路径:
bashyour_container="ansible:latest" # 替换为实际使用的镜像标签 docker run --rm -it "willhallonline/${your_container}" /bin/sh -c "find / -type d | grep 'ansible_mitogen/plugins' | sort | head -n 1"
配置 ansible.cfg:在本地 ansible.cfg 中添加以下内容(路径替换为上一步结果):
ini[defaults] strategy_plugins = /usr/local/lib/python3.x/site-packages/ansible_mitogen/plugins/ # 替换为实际路径 strategy = mitogen_linear
启动容器并进入交互式 shell:
bashdocker run --rm -it willhallonline/ansible:latest /bin/sh
--rm:退出后自动删除容器;-it:启用交互式终端。
挂载本地 Ansible 项目目录和 SSH 密钥,以执行远程操作:
bashdocker run --rm -it \ -v $(pwd):/ansible \ # 挂载当前目录到容器内 /ansible -v ~/.ssh/id_rsa:/root/.ssh/id_rsa # 挂载本地 SSH 私钥到容器 --workdir=/ansible \ # 设置工作目录为 /ansible willhallonline/ansible:latest /bin/sh
确保 SSH 密钥权限正确(容器内
/root/.ssh/id_rsa权限需为600)。
直接在容器中执行 Ansible 命令(如运行剧本):
bashdocker run --rm -it \ -v $(pwd):/ansible \ -v ~/.ssh/id_rsa:/root/.ssh/id_rsa \ --workdir=/ansible \ willhallonline/ansible:latest \ ansible-playbook -i inventory.yml playbook.yml # 替换为实际命令
为常用命令创建 Bash 别名(添加到 ~/.bashrc 或 ~/.zshrc):
bash# 交互式 shell 别名 alias docker-ansible-cli='docker run --rm -it \ -v $(pwd):/ansible \ -v ~/.ssh/id_rsa:/root/.ssh/id_rsa \ --workdir=/ansible \ willhallonline/ansible:latest /bin/sh' # 直接执行命令别名 alias docker-ansible='docker run --rm -it \ -v $(pwd):/ansible \ -v ~/.ssh/id_rsa:/root/.ssh/id_rsa \ --workdir=/ansible \ willhallonline/ansible:latest'
使用示例:
bash# 进入交互式 shell docker-ansible-cli # 直接运行剧本 docker-ansible ansible-playbook playbook.yml
由 Will Hall 开发和维护。
Docker Hub 镜像地址


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务