我是swarm的新手,我正试图在本地设置一个简单的服务。我已经建立了一个这样的领事群:
docker-machine create -d virtualbox consul
eval $(docker-machine env consul)
docker run -d -p 8500:8500 -h consul progrium/consul -server -bootstrap
docker-machine create -d virtualbox --swarm --swarm-master --swarm-discovery="consul://$(docker-machine ip consul):8500" --engine-opt="cluster-store=consul://$(docker-machine ip consul):8500" --engine-opt="cluster-advertise=eth1:2376" swarm-master
docker-machine create -d virtualbox --swarm --swarm-discovery="consul://$(docker-machine ip consul):8500" --engine-opt="cluster-store=consul://$(docker-machine ip consul):8500" --engine-opt="cluster-advertise=eth1:2376" swarm-worker
eval $(docker-machine env --swarm swarm-master)
一切似乎都很好,docker info
给了我:
Nodes: 2
swarm-master: 192.168.99.115:2376
└ ID: XRXA:2QIV:OZFX:4K3N:UF37:OWTO:TV4X:5SSE:QBGI:WDX2:ZLQS:QD7Q
└ Status: Healthy
└ Containers: 2 (2 Running, 0 Paused, 0 Stopped)
└ Reserved CPUs: 0 / 1
└ Reserved Memory: 0 B / 1.021 GiB
└ Labels: kernelversion=4.4.17-boot2docker, operatingsystem=Boot2Docker 1.12.1 (TCL 7.2); HEAD : ef7d0b4 - Thu Aug 18 21:18:06 UTC 2016, provider=virtualbox, storagedriver=aufs
└ UpdatedAt: 2016-08-29T21:10:51Z
└ ServerVersion: 1.12.1
swarm-worker: 192.168.99.116:2376
└ ID: BLNZ:TUGW:T4QQ:AUWZ:J7U3:JJTR:GHN2:SLCU:ZGRL:JGMM:LVOI:32DK
└ Status: Healthy
└ Containers: 1 (1 Running, 0 Paused, 0 Stopped)
└ Reserved CPUs: 0 / 1
└ Reserved Memory: 0 B / 1.021 GiB
└ Labels: kernelversion=4.4.17-boot2docker, operatingsystem=Boot2Docker 1.12.1 (TCL 7.2); HEAD : ef7d0b4 - Thu Aug 18 21:18:06 UTC 2016, provider=virtualbox, storagedriver=aufs
└ UpdatedAt: 2016-08-29T21:10:43Z
└ ServerVersion: 1.12.1
我还可以创建网络覆盖:
docker network create --driver overlay my-network
docker network ls
NETWORK ID NAME DRIVER SCOPE
809a82c5c70d my-network overlay global
但是,服务创建不起作用:
docker service create --replicas 1 --name my-web --network my-network nginx
Error response from daemon: 404 page not found
我在docker引擎的最新稳定版本(1.12.0)和最新测试版本(1.12.1-beta24)上尝试了这个,结果相同。到底是怎么回事?
答案 0 :(得分:2)
您正在混合较旧的Docker Swarm技术设置和docker service
,这是今年6月发布的新“Swarm Mode”技术的一部分。我真的希望Docker不会使用相同的名称来实现两种不同的集群技术。
我建议你改用本教程。 https://docs.docker.com/engine/swarm/swarm-tutorial/不再需要领事。此外,当你谷歌时,请确保搜索“群模式”。很容易与旧的东西混淆。