使用Ansible docker_service模块将服务部署到swarm
我正在尝试将一个Docker服务部署到swarm中但最终总是在我的localhost上运行容器(我用作docker swarm管理器的那个)并且没有服务 这是我的设置: 我有3个节点Docker(v.1.12.2)swarm,其中包括一个作为管理器运行的主机和两个全部运行在CentOS 7上的工作节点.在管理器节点(localhost)上运行Ansible(v.2.1.1.0)playbook和swarm已经配置并且正在运行
从具有此代码的剧本开始
哪个叫这个角色:
当我运行ansible-playbook ./site.yml时,我最终得到一个正在运行的容器.做docker ps -a显示
并且做Docker服务ls显示没有服务正在运行,所以看起来像docker_service将我的图像部署为本地容器??而不是作为群上的服务 所以我的假设是如果我在机器上有一个活跃的swarm是一个swarm管理器并且我使用Ansible docker_service模块,那么它将自动知道swarm并将服务部署到它.看起来我的假设是错误的,我找不到任何文件,博客文章等会暗示我该做什么和我缺少什么. Ansible专家请帮忙! 最佳答案
终于找到了答案.基本上我在最后一段中的假设是错误的.至少现在(是.事实证明,ansible的docker_service只是docker compose的一个包装,而且(非常不幸的是)在编写时并没有与docker swarm集成.根据this support thread,我基本上没有运气
如果你有兴趣,同样的线程gives a possible workaround (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |