如何在所有Docker Swarm节点上运行相同的容器

时间:2016-08-23 21:34:33

标签: docker docker-swarm

我刚刚用Docker Swarm弄湿了脚,因为我们正在研究如何配置我们的计算群集以使其更容易集装箱化。 基本上我们有一个由16台计算机组成的小型服务器场,我希望能够让每个节点下拉相同的映像,运行相同的容器,并接受来自主节点上运行的OpenMPI程序的作业。

没有什么是真正的OpenMPI特定的,只是容器必须能够打开SSH端口,并且主服务器必须能够登录它们。我已经使用了一个Docker容器,它可以工作。

现在我学习Docker Machine和Docker Swarm作为管理16个节点的方法。据我所知,一旦我设置了一个群,我就可以将其设置为DOCKER_HOST(或使用-H)来发送" docker run"并且群组管理器将决定哪个节点运行请求的容器。我基本上使用一个简单的节点列表,而不是搞乱发现服务,到目前为止一直很好。

但实际上我想在一个命令中的所有节点上运行相同的容器。这可能吗?

1 个答案:

答案 0 :(得分:2)

Docker 1.12引入了全局服务并将protected void Application_Error(Object sender, EventArgs e) { var exception = Server.GetLastError(); if (exception != null && exception == 404) { try { Response.Clear(); Server.ClearError(); Response.Redirect("/"); } } catch (ThreadAbortException){} } } 传递给运行命令Docker将为所有节点安排服务。

使用Docker Swarm,您可以使用标签和负亲和力过滤器来获得相同的结果:

--mode global