静态配置微服务以在特定计算机上运行

时间:2019-03-07 08:57:44

标签: docker docker-compose microservices moleculer

我使用带有var array1 = ["Vijendra","Singh"]; var array2 = ["Singh", "Shakya"]; var mergedArrayWithoutDuplicates = array1.concat( array2.filter(seccondArrayItem => !array1.includes(seccondArrayItem)) ); 的Moleculer框架创建了4个微服务。如何将每个微服务静态配置为在特定计算机上运行。

1 个答案:

答案 0 :(得分:0)

您可能想使用docker swarm,它具有一项功能,可让您在名为Constraints的特定节点上部署容器。

  

节点:泊坞窗节点是指群体模式集群中的成员。每个群集节点都必须是docker主机,来源:What is the difference between docker host and node?

约束可以视为节点标签,它们是与特定节点关联的键/值对。

默认情况下,每个节点具有以下约束:

  • node.id
  • node.hostname
  • node.role

可以按以下方式部署服务:

docker service create --name backendapp --constraint 'node.hostname == web.example.com'

请注意,您可以使用docker-compose.yml进行部署:

  

deploy命令支持撰写文件版本3.0及更高版本。

docker stack deploy --compose-file docker-compose.yml mystack

您还可以在docker-compose中设置约束,类似于以下示例:

version: '3.3'
services:
  web:
    image: backendapp-image
    deploy:
      placement:
        constraints:
          - node.hostname == web.example.com

您可以通过here

开始使用docker swarm。