我目前有我的docker服务器设置我的Mac。 不幸的是,我不得不重启我的mac,这显然是由docker集群造成的,失去了领导者地位。 是否有可能做一个自我推销,使其中一个节点现在可以成为领导者? ✘ ⚡ root@docker1 ~ docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS 497ckuujhotoin0a4cqlu3xva * docker1.example.com Ready Active 49fyll1i5v77nyfmy14x7rw5u docker4.example.com Ready Active 4i2m25h3aauv002asadfvdxjh docker6.example.com Ready Active 5050p59139hfa7qs39y4xxxd5 docker5.example.com Ready Active axahq79bu0yutrfv7pzkuzfny docker2.example.com Ready Active d5p49r40rxnzp0htcw8rkophx docker7.example.com Ready Active f57q26vzd4e7u7x1oickxwc5l docker3.example.com Ready Active 我正在使用docker 1.12.3附带的本机docker服务发现
当docker群以独立和群集模式发布时,其中一个主要特点是可以在binpack和spread之间更改调度程序。 如果我在docker-machine中运行docker swarm,我可以通过传递–swarm-strategy参数来select策略,但是如果我尝试以swarm模式运行,那么在CLI命令中会传递该参数。 我发现github上的docker仓库中有一些问题,人们询问binpack的新策略和传播方式,但是我再也没有find改变它的方法。 在master分支中查看docker源代码,又没有CLI命令与这些参数交互。 我知道如何通过docker-machine和独立发送这些参数与docker交互,但我不知道使用docker swarm模式。 我的问题是:如何改变使用docker群模式时的策略? 或者:什么时候可能?
我在服务A运行了n任务。 容器是由docker service scale A=n创build的。 该服务与用户保持会话,所以我不能使用docker swarm scale A=n-1 如何强迫docker停止维护服务A的容器数量n ? 我想运行像docker service scale A=ignore ,让容器自行停止。 当内部状态允许时,容器会缩小。
出于testing目的,我有一个三行脚本(shebang没有显示): docker stack rm MYSTACK sleep 30 docker stack deploy –compose-file /full/path/to/docker-compose.yml MYSTACK > output.txt 当我从本地/直接从terminal窗口运行此脚本时,它按预期工作。 output.txt文件包含“创buildnetworking”,“创build服务”等的预期输出。 但是,当我从另一台机器运行(通过ssh,如果重要),正在运行的堆栈IS已成功停止。 我可以通过docker psvalidation所有的容器都不见了,而ps -ef | grep sleep ps -ef | grep sleep显示sleep 30仍然活动。 一个新的output.txt被创build,但是完全是空的,没有任何东西被启动。 谁能解释一下? Docker 17.06。
我正在Swarm模式下运行Docker,在这种模式下,我有一些服务在同一个覆盖networking上运行,但是有不同的节点。 我试图让这些服务的节点能够相互交谈; 这工作正常,直到我试图谈十字节点。 这是我的networking的定义,从一个节点得到: { "Name": "my-nw", "Id": "0jk0h0sor0839i2j91rz8b7c9", "Scope": "swarm", "Driver": "overlay", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": null, "Config": [ { "Subnet": "10.0.0.0/24", "Gateway": "10.0.0.1" } ] }, "Internal": false, "Containers": { "0467076e0f3b3618115a4d023e78a74921eb6ef7c7ba1e5baeffe1ea4500ee1e": { "Name": "sleepy_fermi.2.59adig1cqoe6s5frqvwco3fyk", "EndpointID": "7276764bd319c57f3343ff871db136e0a224eedb52e93dc8bb1e0d488bf6de83", "MacAddress": "02:42:0a:00:00:04", "IPv4Address": "10.0.0.4/24", "IPv6Address": "" }, "4554f04efa9c2d66e584fefa3d610314761f8dc6599f3723e878e6e5326cd21e": { "Name": "sleepy_fermi.3.4jdpxy1zbu33tf55cbp24llbk", "EndpointID": "b498650bac96aa780a88f0c7a0c70dc716e00b3a4852dcaaf22450d71712ef5f", "MacAddress": […]
Docker Swarm可以pipe理两种types的存储:卷和绑定。 尽pipeDocker文档并不build议使用绑定,因为它在本地目录(在每个swarm节点上)与任务之间创build绑定,但未提及卷方法的实现,所以我不明白卷之间如何共享任务。 Docker Swarm如何在节点之间共享卷? 卷的保存位置(在经理上,如果有多个pipe理?)? 如果在不同的networking上运行不同的机器,节点之间没有问题? 它创build一个VPN吗?
我试图在3台专用电脑上安装HA docker集群。 我已经成功按照docs.docker.com/engine/installation/linux/ubuntulinux上的说明进行操作,现在我正在尝试按照https://docs.docker.com/swarm/install-manual上的说明进行操作。 由于我没有使用任何虚拟化,我从“设置consul发现后端”开始。 个人电脑(运行Ubuntu的可靠14.04服务器版)都在局域网192.168.2.0/24。 ubuntu001有.104,ubuntu002有.106,ubuntu003有.105 我按照说明做了以下工作: arnolde@ubuntu001:~$ docker run -d -p 8500:8500 –name=consul progrium/consul -server -bootstrap arnolde@ubuntu001:~$ docker run -d -p 4000:4000 swarm manage -H :4000 –replication –advertise 192.168.2.104:4000 consul://192.168.2.104 arnolde@ubuntu002:~# docker run -d swarm manage -H :4000 –replication –advertise 192.168.2.106:4000 consul://192.168.2.104:8500 arnolde@ubuntu003:~$ docker run -d swarm join –advertise=192.168.2.105:2375 consul://192.168.2.104:8500 但是,在下一步尝试时,swarm manager不会像它所说的那样显示为“Primary”,也不会列出主要的: arnolde@ubuntu001:~$ docker […]
我是docker swarm模式的新手,如果我想要更多关于swarm服务的细节,可以从命令行运行docker service ps“service name”,或者从docker rest“/ v2 / services / my-ngx” [msreddy@swarmnode1 ~]$ docker service ps my-ngx ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS voj7fllhnmqb my-ngx.1 nginx:latest swarmnode1 Running Running 26 minutes ago 但它没有给我容器ID。 我想跟踪容器forms我的群服务是可能的吗?
我正在尝试在Docker群中使用以下命令运行容错Jenkins: docker service create –replicas 1 –name jenkins -p 8080:8080 -p 50000:50000 –mount src=/home/ubuntu/jenkins_home,dst=/var/jenkins_home jenkins:alpine 但检查服务状态和容器运行我看到副本保持在0。 ubuntu@ip-172-30-3-81:~$ docker service create –replicas 1 –name jenkins -p 8080:8080 -p 50000:50000 –mount src=/home/ubuntu/jenkins_home,dst=/var/jenkins_home jenkins:alpine 14kwt6xoxorn62irnv9y2wm3r ubuntu@ip-172-30-3-81:~$ docker service ls ID NAME REPLICAS IMAGE COMMAND 14kwt6xoxorn jenkins 0/1 jenkins:alpine 87ovyhkparou helloworld 1/1 alpine ping docker.com ubuntu@ip-172-30-3-81:~$ docker ps -a […]
初始化swarm在这个命令之间有什么区别: docker swarm init –advertise-addr <manager-ip> docker -H <worker-ip> swarm join –token <worker-token> 和这个: docker run swarm manage <consul-ip> docker -H <worker-ip> run swarm join –advertise=<worker-ip> <consul-ip> 为什么我们需要swarm图像?