一次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
相关推荐
蓝染k9z1 小时前
在Ubuntu上使用Docker部署DeepSeek
linux·人工智能·ubuntu·docker·deepseek+
苏-言2 小时前
Linux环境下的Java项目部署技巧:安装 Mysql
linux·运维·mysql
张文君2 小时前
docker直接运行arm下的docker
arm开发·docker·容器
lljss20203 小时前
在 WSL2 中重启 Ubuntu 实例
linux·运维·ubuntu
Linux运维老纪3 小时前
K8s之Service详解(Detailed Explanation of K8s Service)
服务器·网络·云原生·容器·kubernetes·云计算·运维开发
月上柳青4 小时前
docker gitlab arm64 版本安装部署
docker·容器·gitlab
神秘剑客_CN5 小时前
使用windows笔记本让服务器上网
运维·服务器·windows
飞火流星020276 小时前
docker安装Redis:docker离线安装Redis、docker在线安装Redis、Redis镜像下载、Redis配置、Redis命令
redis·docker·docker安装redis·redis镜像下载·redis基本操作·redis配置
黑牛先生6 小时前
【Linux】动静态库
linux·运维·服务器
vortex56 小时前
Shell基础:中括号的使用
linux·运维·bash·shell