Can Ansible可以远程部署Docker容器吗?
据我所知,Ansible通常用于通过SSH自动化远程服务器的供应/配置。Can Ansible可以远程部署Docker容器吗?
然而,这个文件规定..
http://docs.ansible.com/ansible/intro_inventory.html#non-ssh-connection-types
泊坞窗 - 该连接器部署剧本直接进入使用本地泊坞客户Docker容器。
我的问题是...... Ansible可以在远程机器上或仅在运行Ansible的机器(即控制器机器)上创建和配置Docker容器?
任何提示或任何良好的联系,非常感谢。
希望我能正确理解你的问题。
具有搬运工客户端或API库(EG:docker-py)的任何机器,网络访问,并且被正确配置可远程操纵搬运工守护程序。
要做到这一点,you must configure the docker daemon to listen remotely.警告:默认情况下,它是不安全的,没有身份验证!确保使用证书认证设置SSL。
之后,您可以安装docker客户端(或库)和相关证书。如果您使用的是客户端,则需要在Vagrant上设置环境变量。这些变量是:
DOCKER_HOST=docker_host:docker_port
DOCKER_TLS_VERIFY=true
你应该把证书在~/.docker
具有以下名称约定:ca.pem cert.pem key.pem
在这一点上,你流浪的虚拟可以操纵远程主机的码头工人。
当然,它可以在远程机器上部署容器。有several modules for 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
也看看docker_image
,如果你想建立一个码头工人的形象。
泊坞连接类型,你的问题引用,用来直接连接到多克尔容器(和容器内运行的任务),而不是运行容器的机器。所以除非你在容器中运行Docker,否则这种类型的连接不用于部署Docker容器。
即便如此,报价指的是“本地Docker客户端”,而不是本地Docker引擎。
感谢您链接到您的git项目。这将与本地计算机上的码头容器或远程计算机上的容器一起工作吗?如果它是一台远程机器,你在哪里传递远程机器的设置? – Sam
Hi @Sam!在这个项目中有[DOCUMENTATION.md](https://github.com/ppc64le/ciaas/blob/master/DOCUMENTATION.md)文件解释**主机文件**的用法。主机文件用于保持与每个远程或本地节点相关的可靠设置。希望它可以帮助你! –