Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 静态配置微服务以在特定计算机上运行_Docker_Docker Compose_Microservices_Moleculer - Fatal编程技术网

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

Docker 静态配置微服务以在特定计算机上运行,docker,docker-compose,microservices,moleculer,Docker,Docker Compose,Microservices,Moleculer,我使用Molecler框架和docker compose创建了4个微服务。如何静态配置每个micro服务以在特定计算机上运行。您可能希望使用的功能允许您在特定节点上部署容器,该节点调用 节点:docker节点是指swarm模式集群中的成员。每个swarm节点必须是docker主机,来源: 约束可以被视为节点标记,它们是与特定节点关联的键/值对 默认情况下,每个节点都有以下约束: node.id node.hostname node.role 可以按以下方式部署服务: docker servi

我使用Molecler框架和docker compose创建了4个微服务。如何静态配置每个micro服务以在特定计算机上运行。

您可能希望使用的功能允许您在特定节点上部署容器,该节点调用

节点:docker节点是指swarm模式集群中的成员。每个swarm节点必须是docker主机,来源:

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

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

  • node.id
  • node.hostname
  • node.role
可以按以下方式部署服务:

docker service create --name backendapp --constraint 'node.hostname == web.example.com'
请注意,您可以使用docker compose.yml部署到swarm:

deploy命令支持compose file 3.0及更高版本

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

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

您可以通过

开始docker swarm,非常感谢您的回答,但从外观上看,调度程序筛选器允许我选择特定类型的节点而不是特定的主机来运行服务。这是一个主机,我已更新了我的答案,这够清楚吗?或者您需要更多的解释?可用的筛选器有:运行状况、端口、依赖项、关联性和约束。这些都不允许我为特定服务指定特定主机。他们允许我为给定的服务选择特定类型的主机。请检查以下内容:非常感谢。这确实对我帮助很大。:)您目前如何将它们部署到不同的计算机上?Swarm模式,经典Swarm,kubernetes?我还没能将它们部署到不同的机器上。我只是简单地使用docker compose在一台主机上运行它们。@KellMaresh您检查过我下面的更新答案了吗?使用docker compose,所有东西都在一台机器上运行,所以我不理解您试图解决的问题。@MostafaHussein我不确定开放式问题是否适合该站点。OP应指定要配置的编排工具,并询问如何配置该特定工具。使用指定的当前工具,它们已经在特定节点上运行容器,并且在不可预知的节点上运行容器时不会遇到任何问题。总的来说,请求是容器的反模式,因为它减少了HA。
version: '3.3'
services:
  web:
    image: backendapp-image
    deploy:
      placement:
        constraints:
          - node.hostname == web.example.com