我有一个正在工作的docker容器,我已经可以使用它的docker-compose.yml
成功运行它了。
现在尝试切换到docker swarm init
。
结果:当我尝试部署到docker swarm时,我的容器启动失败,Pool overlaps with other one
。可能是什么问题?
docker stack deploy -c docker-compose.yml docker-test
我自己并没有创建任何网络,只是依靠docker默认值:
#installed networks by docker + docker-compose + docker swarm
$docker network ls
NETWORK ID NAME DRIVER SCOPE
4d523758a775 bridge bridge local
ac8774f0119e docker_gwbridge bridge local
ea0ehx9k5kxu docker-test_default overlay swarm
12a2cf29c55b host host local
tbshoxat5bdg ingress overlay swarm
01aff819ac80 none null local
$ docker stack ls
NAME SERVICES ORCHESTRATOR
docker-test 1 Swarm
$docker stack ps docker-test
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
43q3xo0y5smv test-docker_test-docker.1 docker-repo:5000/test-docker:latest dev Shutdown Rejected 10 minutes ago "Pool overlaps with other one …"
x158nyonghbt _ test-docker_test-docker.1 docker-repo:5000/test-docker:latest dev Shutdown Rejected 11 minutes ago "Pool overlaps with other one …"
4hsis6wslfl1 _ test-docker_test-docker.1 docker-repo:5000/test-docker:latest dev Shutdown Rejected 11 minutes ago "Pool overlaps with other one …"
50y8rspynoxu _ test-docker_test-docker.1 docker-repo:5000/test-docker:latest dev Shutdown Rejected 11 minutes ago "Pool overlaps with other one …"
docker-compose.yml
:
version: '3.7'
services:
docker-test:
image: docker-repo:5000/docker-test:latest
deploy:
replicas: 1
update_config:
order: start-first
failure_action: rollback
delay: 10s
日志:
$journalctl -fu docker.service
-- Logs begin at Sun 2022-01-16 17:20:01 CET. --
Apr 05 14:16:34 dev dockerd[416253]: time="2022-04-05T14:16:34.484292037+02:00" level=info msg="initialized VXLAN UDP port to 4789 "
Apr 05 14:16:34 dev dockerd[416253]: time="2022-04-05T14:16:34.588014714+02:00" level=error msg="fatal task error" error="Pool overlaps with other one on this address space" module=node/agent/taskmanager node.id=ak88o55xp7uk1bqsocd0ieb1y service.id=8i6n17sognrtvqopzarfdmd17 task.id=x158nyonghbtpalbtlv5nycmr
我的docker配置可能在cat /etc/docker/daemon.json
:中如下所示
{
...
"default-address-pools":
[
{
"base": "10.0.0.0/16",
"size": 24
}
]
}
这可能与docker群体网络相冲突。我将上面的更改为11.0.0.0/16
,然后使用docker system prune
清除所有网络,然后再次使用docker swarm init
。