-1

我使用 Moleculer 框架和docker-compose. 如何静态配置每个微服务以在特定机器上运行。

4

1 回答 1

0

您可能想要使用docker swarm,它具有允许您在称为约束的特定节点上部署容器的功能

节点:一个 docker 节点是指 swarm 模式集群中的一个成员。每个 swarm 节点都必须是一个 docker 主机,来源:docker host 和 node 有什么区别?

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

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

  • 节点ID
  • 节点.主机名
  • 节点角色

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

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

请注意,您可以使用以下命令部署到 swarm docker-compose.yml

deploy 命令支持 compose 文件 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

你可以通过这里开始使用 docker swarm

于 2019-03-07T09:19:28.667 回答