背景:
公司有个业务系统是基于docker swarm的部署架构。由于我修改了某个配置,需要对docker进行重启,执行完systemctl restart docker 以后容器中的服务没有按计划启动起来。
执行docker service ls发现swarm中的服务在,但是容器启动不起来。
1、执行如下命令
docker service ps --no-trunc {tfg8sns6kvaq} #容器id
返回内容为;
Dokcer Swarm - network sandbox join failed: subnet sandbox join failed
2、解决方法:
2.1、查看 /sys/class/net 目录下vx-*的VLAN
ls -l /sys/class/net/ | grep vx
2.2、我们有了接口id,拉取更多详细信息
udevadm info /sys/class/net/
2.3、如果这些接口存在,我们应该能够安全地删除vx-1231231-xxxxxx接口。
ip -d link show vx-1231231-xxxxx
ip link delete vx-1231231-xxxxx
2.4、重启docker 服务
systemctl retart docker