Ansible可以远程部署Docker容器吗?

据我所知,Ansible通常通过SSH自动化远程服务器的configuration/configuration。

不过,这个文件说明..

http://docs.ansible.com/ansible/intro_inventory.html#non-ssh-connection-types

docker – 该连接器使用本地Docker客户端将Playbook直接部署到Docker容器中。

我的问题是… Ansible是否可以在远程计算机上创build和configurationDocker容器,或者仅在运行Ansible的计算机(即控制器计算机)上创build和configurationDocker容器?

任何提示或任何良好的联系,不胜感激。

希望我正确理解你的问题。

任何具有docker客户端或API库(EG: docker-py ),networking访问权限并configuration正确的机器都可以远程操作docker守护程序。

为此, 您必须configurationdocker守护进程远程监听。 警告:默认情况下,它是不安全的,没有身份validation! 确保使用certauthentication来设置SSL

之后,您可以安装docker客户端(或库)和相关的证书。 如果您使用客户端,则需要在Vagrant上设置环境variables。 这些variables是:

DOCKER_HOST=docker_host:docker_port DOCKER_TLS_VERIFY=true 

您应该使用以下名称约定将证书放在~/.dockerca.pem cert.pem key.pem

在那一刻,你的stream浪者虚拟可以操纵远程docker主机。

当然,它可以在远程机器上部署容器。 有几个模块的Docker ,但你要求docker_container

 --- - hosts: docker_host tasks: - name: Ensure web based hello world container is running docker_container: name: web_hello_world image: tutum/hello-world ports: - 80:80 

如果你想构build一个Docker镜像,也可以看看docker_image


在问题中引用的Docker连接types用于直接连接到Docker容器(并在容器中运行任务),而不是运行容器的机器。 所以除非你在容器中运行Docker,否则这种types的连接不用于部署Docker容器。

即使如此,引用是指“ 本地的Docker客户端 ”,而不是本地的Docker引擎。

我正在使用它。 如果你想检查项目: https : //github.com/ppc64le/ciaas

我使用docker_service模块 ,它运行良好。