我在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我在谷歌搜索了太多的网页,但没有找到任何解决方案。
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
4c8rllxm1#
您可以尝试以下步骤。1.检查每个节点是否存在/sys/class/net中的任何vx-* 接口
/sys/class/net
$ ls -l /sys/class/net/ | grep vx
1.一旦我们有了接口ID,就可以获取更多详细信息
$ udevadm info /sys/class/net/
1.如果这些接口存在,我们应该能够安全地删除它们。请将vx-000000-xxxxx替换为步骤2中的接口id
vx-000000-xxxxx
$ sudo ip -d link show vx-000000-xxxxx $ sudo ip link delete vx-000000-xxxxx
等等。1.重新部署服务。
yruzcnhs2#
如果你使用的是Ubuntu 21.10的raspberry pi,你可能只是缺少必要的库。你可以用以下命令安装它们:
sudo apt install linux-modules-extra-raspi
6yt4nkrj3#
主机上的多个网络之间可能存在冲突您是否检查了正在运行的dockerd服务数量?您的主机上可能正在运行两个Docker服务,分别为apt和snap要通过snap删除Docker:
dockerd
apt
snap
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/
3条答案
按热度按时间4c8rllxm1#
您可以尝试以下步骤。
1.检查每个节点是否存在
/sys/class/net
中的任何vx-* 接口1.一旦我们有了接口ID,就可以获取更多详细信息
1.如果这些接口存在,我们应该能够安全地删除它们。请将
vx-000000-xxxxx
替换为步骤2中的接口id等等。
1.重新部署服务。
yruzcnhs2#
如果你使用的是Ubuntu 21.10的raspberry pi,你可能只是缺少必要的库。你可以用以下命令安装它们:
6yt4nkrj3#
主机上的多个网络之间可能存在冲突
您是否检查了正在运行的
dockerd
服务数量?您的主机上可能正在运行两个Docker服务,分别为apt
和snap
要通过
snap
删除Docker:或者,为了避免创建备份数据:
要通过
apt
删除Docker然后从此处重新安装https://docs.docker.com/engine/install/ubuntu/