我有一个跨4个swarm节点(ServiceA)运行的服务和一个跨同一个Swarm上的4个节点运行的Nginx服务。Nginx服务公开/发布端口80和443。所有服务都连接到同一个用户定义的覆盖网络,最重要的是,我可以从容器内curl/ping服务名称(ServiceA),所以到目前为止一切正常。我的问题是如何让Nginx上游使用服务名称?我已经阅读了很多并尝试将其添加到nginx.confresolver127.0.0.11ipv6=off;但它没有帮助并且Nginx服务将无法启动。关于如何让Nginx查看Docker网络DNS名称的任何想法?这是我的nginx.confevents
环境:6个服务器dockerswarm集群(2个master和4个worker)要求:我们需要在现有的dockerswarm上建立一个zookeeper集群。Blockedon:要在集群中设置zookeeper,我们需要在每个服务器配置中提供所有zk服务器,并在myid文件中提供唯一ID。问题:当我们在dockerswarm中创建zookeeper的副本时,如何为每个副本提供唯一ID。另外,我们如何使用每个zookeeper容器的ID更新zoo.cfg配置文件。 最佳答案 目前这不是一个简单的问题。当每个集群成员都需要唯一的身份和存
我希望能够在Docker中启动一个Hadoop集群,将Hadoop节点分布到不同的物理节点,使用swarm.我找到了允许我在docker容器中运行hadoop的sequenceiq镜像,但这不允许我使用多个节点。我也看过cloudbreak项目,但它似乎需要一个openstack安装,这似乎有点矫枉过正,因为在我看来,仅swarm就足以满足我们的需要。我还找到了thisStackoverflowquestion+answer依赖weave,需要sudo权限,我们的管理员不会给所有人。有没有办法让启动hadoop集群归结为通过swarm启动几个容器? 最佳答案
我正在尝试研究如何在Docker中正确使用swarm模式。首先,我尝试在我的2台工作人员和经理机器上运行容器,而不指定自定义网络(所以我使用默认的入口覆盖网络)。但是,如果我使用入口网络,由于某种原因,我无法解析tasks.myservice。所以我尝试像这样配置自定义网络:dockernetworkcreate-doverlayelasticnet所以现在,当我bash进入其中一个容器时,我可以成功解析tasks.myservice但我无法再访问我在我的在外部--publish下创建服务(我可以在使用入口网络时)。有没有办法:使用入口网络并能够解析tasks.myservice或任何
consul和dockerswarm配置后端是否兼容?我的要求是我需要启动N个traefik容器作为docker服务,它们通过dockerswarm获取动态前端/后端,但我还需要所有N个traefik容器使用共享的ACME配置(即来自领事)。我希望前端/后端信息应该来自dockerswarm,而ACME配置应该来自consul。就任何其他静态traefik配置而言,如果它来自静态文件,我很好,但这对于ACME.json作为文件通过volumne确实不起作用,因为如何管理写入锁定?我看到的唯一选择是consulKV商店。我看到的问题是这种设置是不可能的?Traefik版本v1.3.0构建
我在用户创建的覆盖网络内的DockerSwarm中将nginx容器作为服务运行。两者都使用:dockernetworkcreate--driveroverlayproxydockerservicecreate--nameproxy--networkproxy-p80:80nginx通过浏览器访问nginx站点时,在nginx访问日志中,远程地址记录为10.255...格式化地址,我假设是Swarm负载均衡器地址。问题是如何知道/记录访问站点的最终客户端的地址,而不是负载均衡器的地址。 最佳答案 很好!,大多数人分析nginxacce
我很难理解DockerSwarm模式中replica实例的概念。我听说这是一项有助于提高可用性的功能。但是,即使为服务定义了1个replica,如果一个节点出现故障,Docker也会自动在另一个节点上启动一个新任务,这也提供了高可用性。那么对于任意服务而言,拥有3个replica实例而不是1个实例有什么好处?我的假设是,有了更多的副本,Docker在发生故障时花费更少的时间在另一个节点上创建新实例,这有助于提高性能。这是正确的吗? 最佳答案 WhatMakesaSystemHighlyAvailable?Oneofthegoalso
我刚刚听说在未来的Docker版本中支持原生Kubernetes。我以前从未使用过Kubernetes,所以我开始阅读它。但我有点困惑:Kubernetes被描述为编排工具,也是Dockersswarmmode的替代品。那么如果Kubernetes做编排,它也是docker-compose的替代品吗?或者可以组合和Kubernetes一起使用吗?一些具体问题:假设我想(或必须)使用Kubernetes:我有一个包含多个微服务的docker-compose文件,但它们在单台机器上作为独立应用程序运行。它可以(或应该)被Kubernetes取代吗?我有一个docker-compose文件,
我有一个工作群设置和滚动更新部署。因为我必须在部署后执行一些任务(比如数据库迁移),所以我向堆栈添加了一个“管理器”服务。此服务仅限于节点管理器-所以我总有办法找到它。要获取当前的容器ID,我使用以下命令:exportMANAGER_ID=$(docker--tlsps--filterlabel=com.docker.swarm.service.name=projectname-php-manager-q)这有效...但在部署期间无效。stackdeploy很快就会退出(在容器启动之前),甚至在管理器容器更新之前。在获取containerID之前,我还添加了一个sleep10,但结果各
我使用新生成的token创建了一个docker-machineswarm集群,该token存储在环境变量中。环境变量只对当前session有效,之后会被删除。现在我想在同一个集群中添加一个新的docker-machine,但是我找不到需要的token。如何找出活跃的dockerswarm使用的token? 最佳答案 为后代回答,因为我对其他答案没有运气。运行Docker17.05。Docker现在可以列出工作人员和管理人员的加入token。$dockerswarmjoin-tokenmanagerToaddamanagertothi