一次docker swarm重启的教训

背景:

公司有个业务系统是基于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
相关推荐
画中有画5 小时前
使用yolov8实现自动化脚本
运维·yolo·自动化
Piko6147 小时前
H3C IRF2 堆叠实战:打造高可靠核心交换网络
运维·网络·笔记
万联WANFLOW10 小时前
SD-WAN 控制平面高可用怎么做?SDWAN 控制器挂了,全网会发生什么
运维·网络·分布式·架构
程序员老油条10 小时前
WSL2 + Docker Desktop:Windows 下的完美 Java 开发环境
java·windows·docker·wsl2
SkyWalking中文站12 小时前
认识 Horizon UI · AI Assistant:用日常语言查询你的可观测性数据
运维·监控·自动化运维
大侠锅锅12 小时前
第 4 篇:策略模式实践——用统一接口管理 Docker 容器、原生进程与 K3s Pod
docker·容器·边缘计算·策略模式·iot
崇山峻岭之间13 小时前
Keil5输出hex转换为bin的设置
linux·运维·服务器
Hoxy.R13 小时前
KingbaseES读写分离高可用集群扩容、备库重建与故障切换实战
运维·数据库
小蓝波14 小时前
docker 的命令
java·docker·容器