Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.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 swarm节点作为外部引导_Docker_Docker Swarm - Fatal编程技术网

使用单个docker swarm节点作为外部引导

使用单个docker swarm节点作为外部引导,docker,docker-swarm,Docker,Docker Swarm,我正在创建一个docker swarm,它将在“全局服务”模式下运行(即,单个服务将在每个节点上运行)。但是,我还希望仅从其中一个节点引导数据库 是否有一种特定的方式可以设置我的配置,以便我可以设置docker映像,以便: 外部“引导”仅在单个主机上发生 但是服务本身在所有这些设备上运行 解决方案是从同一映像创建两个独立的服务吗?第一个只有--副本的-1并执行引导,然后是运行实际服务的我的全局服务?您可以将数据库作为一个简单的容器运行,而不是使用swarm服务。只需确保两个应用程序都在同一个网络

我正在创建一个docker swarm,它将在“全局服务”模式下运行(即,单个服务将在每个节点上运行)。但是,我还希望仅从其中一个节点引导数据库

是否有一种特定的方式可以设置我的配置,以便我可以设置docker映像,以便:

  • 外部“引导”仅在单个主机上发生
  • 但是服务本身在所有这些设备上运行

  • 解决方案是从同一映像创建两个独立的服务吗?第一个只有
    --副本
    -1
    并执行引导,然后是运行实际服务的我的全局服务?

    您可以将数据库作为一个简单的容器运行,而不是使用swarm服务。只需确保两个应用程序都在同一个网络上运行()。

    您可以将数据库作为一个简单的容器运行,而不是使用swarm服务。只需确保两个应用程序都在同一网络上运行()。

    您可以使用副本1运行另一个服务,并且--restart条件为none,因此当服务结束时,数据库将被引导。@TarunLalwani是的,这就是我想做的。您是否仍然建议使用相同的容器/群集来管理它?还有一个单独的入口点脚本?都可以。如果您经常创建多个环境,我会在compose中加入init。如果你不这么做,那么我会将引导服务保留为一个单独的服务。你可以使用副本1运行另一个服务,并且--restart condition为none,因此当服务结束时,DB将被引导。@TarunLalwani是的,这就是我想我会做的。您是否仍然建议使用相同的容器/群集来管理它?还有一个单独的入口点脚本?都可以。如果您经常创建多个环境,我会在compose中加入init。如果你做得少一点,那么我会把引导服务单独保留一个,不幸的是,我实际上做不到这一点。数据库本身是被管理的,并且在其他方面与应用程序分离。不幸的是,我实际上无法做到这一点。数据库本身是被管理的,并且以其他方式与应用程序分离。