问题描述
在Docker Swarm上部署应用程序时遇到了这个问题。
我运行docker stack deploy -c /path
并获得error network sandbox join failed: subnet sandbox join failed for "10.0.0.0/24": error creating vxlan interface: file exists
我在Google中搜索了太多页面,但找不到任何解决方案。
解决方法
主机上的多个网络之间可能存在冲突
您是否检查了正在运行的dockerd
个服务?您的主机上可能正在通过apt
和snap
要通过snap
删除docker:
sudo snap remove docker
或者,为避免它创建备份数据:
sudo snap remove --purge docker
要通过apt
删除docker
sudo apt-get remove docker docker-engine docker.io containerd runc
然后从此处https://docs.docker.com/engine/install/ubuntu/
重新安装 ,您可以尝试使用following steps。
- 检查每个节点中
/sys/class/net
中是否有任何vx- *接口
$ ls -l /sys/class/net/ | grep vx
- 一旦我们有了界面ID,便可以获取更多详细信息
$ udevadm info /sys/class/net/
- 如果存在这些接口,我们应该能够安全地删除它们。将
vx-000000-xxxxx
替换为步骤2中的接口ID
$ sudo ip -d link show vx-000000-xxxxx
$ sudo ip link delete vx-000000-xxxxx
等...
- 重新部署服务。