一次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
相关推荐
sduwcgg3 小时前
IQ-Learn 在 RTX 3090 服务器上的环境配置与踩坑记录
运维·服务器
marsh02064 小时前
43 openclaw熔断与降级:保障系统在异常情况下的可用性
java·运维·网络·ai·编程·技术
摇滚侠4 小时前
Docker 如何查询挂载的目录
运维·docker·容器
头发够用的程序员4 小时前
C++和Python面试经典算法汇总(一)
开发语言·c++·python·算法·容器·面试
勇闯逆流河5 小时前
【Linux】linux进程控制(进程池的详解与实现)
linux·运维·服务器
WJ.Polar6 小时前
Scapy基本应用
linux·运维·网络·python
数智顾问7 小时前
(123页PPT)华为流程管理体系精髓提炼(附下载方式)
运维·华为
胡小禾8 小时前
K8S常识-如何指定只更新一个deployment中的某一个实例
云原生·容器·kubernetes
江湖有缘8 小时前
基于Ubuntu系统Docker部署Note Mark:从安装到配置全流程
linux·ubuntu·docker
AC赳赳老秦9 小时前
财务报销自动化:用 OpenClaw 自动识别发票信息、填写报销单、校验报销规则,减少手工操作
运维·网络·eclipse·github·visual studio·deepseek·openclaw