草庐IT

docker - 如何在与集群管理器相同的机器上运行 docker swarm 节点?

我一直关注theseinstructions在我的Ubuntu机器上设置一个dockerswarm。我想在运行swarm管理器的同一台机器上运行一些swarm节点,但是节点的状态是“Pending”,错误是“Cannotconnecttothedockerengineendpoint”。这些是我运行来设置系统的命令:dockerrun-d--nameconsul-p8500:8500progrium/consul-server-bootstrapdockerrun--namemanager-d-p4000:4000swarmmanage-H:4000--advertise192.168

docker - 如何将本地文件共享到 docker 容器在 swarm 中使用 docker-compose

这是我的dockercompose文件version:'2'services:demoui:image:demoimageports:-"80:8000"volumes:-./democonfig/config.js:/usr/local/tomcat/webapps/demo-ui/config.js-./logs/demo-ui:/usr/local/tomcat/logsrestart:unless-stopped当我在单节点时,这个dockercompose文件可以工作。移至dockerswarm后。它不工作。它抛出以下错误ERROR:fordemouiErrorrespons

docker - Docker Swarm 是如何负载均衡的?

我有一个由10个Swarm节点组成的集群,通过dockerswarmjoin命令启动如果我想通过docker实例扩展到15个dockerservicecreate--replicas15dockerswarm如何知道从哪里启动容器?是循环还是考虑计算资源(使用多少cpu/mem)? 最佳答案 当您在Swarm模式下创建服务或对其进行扩展时,ElectedLeader(其中一个管理器)上的scheduler将选择一个节点来运行该服务。领导者目前可以使用3种策略。传播binpack随机spread和binpack策略根据节点的可用CPU

docker - 如何在 docker swarm 中重新启动多个容器

我目前在我的docker设置中有4个不同主机的8个容器。ubuntu@ip-192-168-1-8:~$dockerservicelsIDNAMEMODEREPLICASIMAGEyyyytxxxxx8mycontainersglobal8/8myapplications:latest在服务上运行ps-a会产生以下结果。ubuntu@ip-192-168-1-8:~$dockerserviceps-ayyNAMEIMAGENODEDESIREDSTATECURRENTSTATEERRORPORTSmycontainers1myapplications:latest:ip-192-168

Docker-swarm >> 无法连接到 docker 引擎端点

dockerversion1.9.1swarmversion1.0.1为什么要将3个虚拟机(桥接网络)连接到swarm。“dockerinfo”显示所有节点Statuspending.3个主机中的1个是ma​​nager,所有输出都来自该主机。我不知道去哪里找。在运行swarm--debugmanagetoken://XXXXX输出>>*INFO[0000]ListeningforHTTPaddr=127.0.0.1:2375proto=tcpDEBU[0000]Failedtovalidatependingnode:Cannotconnecttothedockerengineendp

docker - 升级 Swarm 模式集群

Docker变化如此之快,所以我试图找出是否可以升级DockerSwarm(群模式)集群。例如说我正在运行1.12,并且我有一个3节点集群运行服务。假设Docker1.13出来了,我想升级组成swarm集群的引擎。无论如何要做到这一点,不包括重新创建集群会更喜欢几乎滚动的引擎更新?谢谢! 最佳答案 排空第一个节点。sudodockernodeupdate--availabilitydrainworker2验证排空节点上没有容器。sudodockerps#onworker2升级docker引擎。在swarmmanager中检查节点。s

docker - 如何在多个 swarm 管理器集群中查找 docker swarm 中的当前管理器节点是哪个节点?

我创建了一个dockerswarm集群,其中包含4个节点2是swarmmanager(swarm支持多个管理器)我知道如果当前管理器节点关闭,然后第二个管理器扮演成为集群管理器的角色。在我的例子中,我正在向swarm管理器发出rest调用,以创建具有副本的服务等。在某个时候,如果这位经理下台,而第二位经理成为经理,我怎么知道??有什么方法可以动态通知特定节点是管理器吗?请给我澄清一下?? 最佳答案 使用CLI(手动)了解经理是否已更改的快速方法是通过CLI:$dockernodelsIDHOSTNAMESTATUSAVAILABIL

Docker swarm 仅在 worker 中运行任务

假设我们在swarm模式下工作,我们有三个节点:经理1worker1worker2是否可以创建一个服务并指定任务只需要在工作人员(worker1和worker2)中运行,而不是在管理器(manager1)中运行我正在运行以下命令来创建服务:docker-machinesshmanager1"dockerservicecreate--networkdognet--namedog-dbredis"当我ps服务时:docker-machinesshmanager1"dockerservicepsdog-db"我明白了:IDNAMEIMAGENODEDESIREDSTATECURRENTSTA

nginx - 如何在 Nginx 上游使用 Docker swarm DNS/服务名称

我有一个跨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

docker - 如何在 docker swarm 上设置 zookeeper 集群

环境:6个服务器dockerswarm集群(2个master和4个worker)要求:我们需要在现有的dockerswarm上建立一个zookeeper集群。Blockedon:要在集群中设置zookeeper,我们需要在每个服务器配置中提供所有zk服务器,并在myid文件中提供唯一ID。问题:当我们在dockerswarm中创建zookeeper的副本时,如何为每个副本提供唯一ID。另外,我们如何使用每个zookeeper容器的ID更新zoo.cfg配置文件。 最佳答案 目前这不是一个简单的问题。当每个集群成员都需要唯一的身份和存