Ansible 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 镜像地址
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429