一次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
相关推荐
小陈phd12 小时前
混合知识库搭建:本地Docker部署Neo4j图数据库与Milvus向量库
数据库·docker·neo4j
Wpa.wk13 小时前
容器编排 - 了解K8s(pod, deployment,service,lable等概念)
经验分享·测试工具·docker·云原生·容器·kubernetes
何中应14 小时前
vmware的linux虚拟机如何设置以命令行方式启动
linux·运维·服务器
江畔何人初14 小时前
kubernet与docker的关系
linux·运维·云原生
bubuly14 小时前
软件开发全流程注意事项:从需求到运维的全方位指南
大数据·运维·数据库
xuefuhe15 小时前
Kubernetes基础入门4 应用的扩展与收缩
云原生·容器·kubernetes
j_xxx404_15 小时前
Linux:进程程序替换
linux·运维·服务器
RisunJan16 小时前
Linux命令-lnstat(快速查找文件和目录)
linux·运维·服务器
lihui_cbdd16 小时前
Slurm 集群内存管理与限制配置
运维·服务器
历程里程碑16 小时前
Linux 17 程序地址空间
linux·运维·服务器·开发语言·数据结构·笔记·排序算法