
lj020326/ansible-runnerDocker容器中的Ansible运行环境,预加载了常用的Galaxy集合。本文示例中使用的Ansible启用Docker镜像可在Docker Hub找到。
在Docker中运行Ansible具有显著优势:启动速度极快,只需暴露所需端口即可通过Web界面访问;同时,在Docker中运行Ansible剧本可实现环境隔离,完全控制内部执行环境。
可能会遇到一些问题(更多信息)。更优的方案是:容器不运行独立的Docker守护进程,而是连接到主机系统的Docker守护进程。这意味着容器内和主机系统都有Docker CLI,但都连接到同一Docker守护进程(即主机系统运行的Docker守护进程)。本文有助于理解此机制。实现方法:运行容器时通过以下参数绑定挂载主机守护进程:-v /var/run/docker.sock:/var/run/docker.sock
最简单的方法是直接从Docker Hub拉取并运行镜像:
shell$ docker run -it -p 8080:8080 -p 50000:50000 \ -v ansible_home:/var/ansible_home \ -v /var/run/docker.sock:/var/run/docker.sock \ --restart unless-stopped \ lj020326/ansible-runner
参数说明:
-p 8080:8080 -p 50000:50000:映射容器端口到主机-v ansible_home:/var/ansible_home:持久化存储Ansible家目录-v /var/run/docker.sock:/var/run/docker.sock:连接主机Docker守护进程--restart unless-stopped:除非手动停止,否则容器退出时自动重启若在内部主机运行且需要信任CA证书,需挂载主机CA证书:
shell$ docker run -it -p 8080:8080 -p 50000:50000 \ -v ansible_home:/var/ansible_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt:ro \ --restart unless-stopped \ lj020326/ansible-runner
额外参数说明:
-v /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt:ro:只读挂载主机CA证书,确保容器信任内部证书也可克隆仓库,从Dockerfile构建镜像后运行:
shell# 构建镜像 $ docker build -t ansible-runner . # 运行容器 $ docker run -it -p 8080:8080 -p 50000:50000 \ -v ansible_home:/var/ansible_home \ -v /var/run/docker.sock:/var/run/docker.sock \ --restart unless-stopped \ ansible-runner
![LinkedIn]([***]
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务