无法创建 docker 集群服务
Can't create docker swarm service
我是 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) 上都试过了,结果相同。到底是怎么回事?
您混淆了较旧的 Docker Swarm 技术设置和 docker service
,后者是今年 6 月发布的较新 "Swarm Mode" 技术的一部分。我真希望 Docker 不会对这两种不同的集群技术使用相同的名称。
我建议您改用本教程。 https://docs.docker.com/engine/swarm/swarm-tutorial/ 不再需要 Consul。此外,当您 google 时,请务必搜索 "swarm mode"。很容易与旧的东西混淆。
我是 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) 上都试过了,结果相同。到底是怎么回事?
您混淆了较旧的 Docker Swarm 技术设置和 docker service
,后者是今年 6 月发布的较新 "Swarm Mode" 技术的一部分。我真希望 Docker 不会对这两种不同的集群技术使用相同的名称。
我建议您改用本教程。 https://docs.docker.com/engine/swarm/swarm-tutorial/ 不再需要 Consul。此外,当您 google 时,请务必搜索 "swarm mode"。很容易与旧的东西混淆。