一次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
相关推荐
白菜欣35 分钟前
Linux —《开发三件套:gcc/g++、gdb、make/Makefile 全解析》
linux·运维
何中应43 分钟前
Grafana如何给列表设置别名
运维·grafana·监控
MXsoft6181 小时前
运维的尽头,是把“救火”变成“算命”
运维
大卡片1 小时前
IO模型与并发服务器设计
运维·服务器·网络
莎士比亚的文学花园1 小时前
Linux驱动开发(1)——系统移植
linux·运维·服务器
志栋智能2 小时前
超自动化巡检:解锁运维数据的深层价值
运维·服务器·数据库·自动化
小义_2 小时前
【Kubernetes】(九)Service 2
云原生·容器·kubernetes
坚持就完事了3 小时前
Linux中的mv命令
linux·运维·服务器
SongYuLong的博客3 小时前
Claude Code安装配置(Linux)
linux·运维·服务器
linux修理工4 小时前
禁用 Windows 跳转列表和最近文档跟踪的注册表修改
运维