一次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
相关推荐
CDN3601 天前
SDK 游戏盾接入闪退 / 初始化失败?依赖冲突与兼容修复
运维·游戏·网络安全
再ZzZ1 天前
Docker快速部署Kafka(内网通用版本)
docker·容器·kafka
C+++Python1 天前
Linux/C++多进程
linux·运维·c++
最贪吃的虎1 天前
GitHub推送又超时了?试试SSH
运维·ssh·github
XZY0281 天前
如何使用grpc
运维·服务器
rleS IONS1 天前
SQL2000在win10上安装的方法
运维·服务器
Stack Overflow?Tan901 天前
linux ubuntu22.04安装ROS2humble完整版的流程
linux·docker·ros2
zly35001 天前
centos7 sshd无法启动
linux·运维·服务器
IMPYLH1 天前
Linux 的 hostid 命令
linux·运维·服务器·bash
编程大师哥1 天前
Linux 命名管道(FIFO)通信 超清晰讲解
linux·运维·服务器