一次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
相关推荐
运维有小邓@1 小时前
Active Directory服务账户是什么?
运维·服务器·网络
HIT_Weston2 小时前
84、【Ubuntu】【Hugo】搭建私人博客:文章目录(三)
linux·运维·ubuntu
moxiaoran57533 小时前
使用docker安装myql 8.0
运维·docker·容器
qq_5470261793 小时前
Linux 常用快捷键及文本编辑器
linux·运维·服务器
醇氧4 小时前
【Linux】 安装 Azul Zulu JDK
java·linux·运维
喵叔哟5 小时前
15.故障排查与调试
后端·docker·容器·服务发现
梦帮科技6 小时前
第三十四篇:开源社区运营:GitHub Stars增长策略
开发语言·前端·爬虫·python·docker·架构·html
ICT系统集成阿祥6 小时前
Linux运维最万能的三条指令
linux·运维·服务器
长安即是故里6 小时前
保姆级docker安装教程,含国内加速镜像地址
docker·docker安装教程·国内加速
chenyuhao20247 小时前
Linux网络编程:数据链路层
linux·运维·网络