这些镜像已被弃用
Ansible不再直接在Dockerhub维护镜像。Dockerhub上有多个由Ansible社区成员维护的Ansible镜像,可通过https://hub.docker.com/search/?q=ansible&page=1&isAutomated=0&isOfficial=0&pullCount=1&starCount=0%E6%89%BE%E5%88%B0%E3%80%82
Ansible-Docker-Base是包含Ansible的基础Docker镜像。
这些镜像由Ansible, Inc维护,旨在帮助用户通过Ansible playbook轻松构建Docker镜像。
尽管Ansible模块可用于部署容器镜像(以及准备主机依赖以运行容器),本文档主要介绍如何使用Ansible高效描述和构建容器镜像。
Ansible, Inc在DockerHub上的内容位于:https://registry.hub.docker.com/u/ansible/
目前提供基于CentOS 7和Ubuntu 14.04 LTS的基础镜像,同时包含最新稳定版Ansible和开发分支快照版本。
通过指定Dockerfile,可以使用非常简洁的Dockerfile来描述主要由Ansible playbook定义的容器镜像。
可参考https://github.com/ansible/ansible-docker-base/blob/master/examples/webserver-simple/Dockerfile%E6%9F%A5%E7%9C%8B%E7%A4%BA%E4%BE%8B%E3%80%82
要构建此镜像,只需进入包含Dockerfile的目录并运行:
bashdocker build -t webserver_simple .
这将生成一个标记为"webserver_simple"的镜像,基于Ansible playbook运行结果。https://github.com/ansible/ansible-docker-base/blob/master/examples/webserver-simple/ansible/site.yml%E3%80%82
您自己的内容应保存在独立的git仓库中。建议将包含Ansible+Docker playbook的仓库连接到DockerHub,以便在底层Ansible playbook或其嵌入的应用程序发生变化时触发容器镜像的自动重建。
上述DockerFile选择了Ansible Docker镜像的最新CentOS标签。如需使用不同的操作系统或Ansible版本,可修改DockerFile的第一行。
可用选项如下:
dockerfileFROM ansible/centos7-ansible:stable FROM ansible/centos7-ansible:devel FROM ansible/ubuntu14.04-ansible:stable FROM ansible/ubuntu14.04-ansible:devel
DockerHub上的Ansible镜像会定期更新。
Ansible提供240多个模块用于管理IT组件的各个方面,是描述应用程序的良好起点。Ansible Galaxy提供了部署大量流行应用的完整自动化,进一步扩展了这一能力。
要在Docker中使用现有的ansible-role内容,只需切换到playbook目录并下载角色。例如,要配置ELK栈:
bashmkdir roles/ cd roles/ ansible-galaxy install bakhti.elk
然后在playbook中使用该角色内容:
yaml- hosts: localhost roles: - bakhti.elk
这样,一个3行的playbook即可在容器镜像中部署完整的ELK栈。
镜像推送到仓库后,可使用Ansible Docker模块进行部署。这是一种轻量级方式,用于指定哪些容器应在哪些主机上运行。
以下是在所有主机上运行Tomcat容器的简单示例:
yaml- hosts: web sudo: yes tasks: - name: run tomcat servers docker: image=my-tomcat command="service tomcat6 start" ports=8080
将"image"参数替换为您仓库中的镜像名称。
有关更多信息,请参考Ansible Docker模块文档。
随着需求变得更加复杂,如需为不同主机指定不同容器,可在Ansible主机组中定义"run_containers"列表,指定每台主机应运行的容器。这使Ansible可作为轻量级云平台使用,无需额外组件。
如果使用Docker Hub自动构建来构建镜像,可设置镜像在基础Ansible镜像(由Ansible, Inc托管)更新时自动重建:
如想讨论Ansible+Docker相关问题,可访问ansible-project邮件列表或IRC频道irc.freenode.net上的#ansible。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务