我刚刚用Docker Swarm弄湿了脚,因为我们正在研究如何配置我们的计算群集以使其更容易集装箱化。 基本上我们有一个由16台计算机组成的小型服务器场,我希望能够让每个节点下拉相同的映像,运行相同的容器,并接受来自主节点上运行的OpenMPI程序的作业。
没有什么是真正的OpenMPI特定的,只是容器必须能够打开SSH端口,并且主服务器必须能够登录它们。我已经使用了一个Docker容器,它可以工作。
现在我学习Docker Machine和Docker Swarm作为管理16个节点的方法。据我所知,一旦我设置了一个群,我就可以将其设置为DOCKER_HOST(或使用-H)来发送" docker run"并且群组管理器将决定哪个节点运行请求的容器。我基本上使用一个简单的节点列表,而不是搞乱发现服务,到目前为止一直很好。
但实际上我想在一个命令中的所有节点上运行相同的容器。这可能吗?
答案 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