一次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
相关推荐
wanhengidc22 分钟前
什么是站群服务器
运维·服务器·网络·游戏·智能手机
爱宇阳35 分钟前
GitLab Docker Compose 迁移教程
docker·容器·gitlab
琦琦琦baby1 小时前
VRRP技术重点总结
运维·网络·智能路由器·vrrp
筑梦之路2 小时前
深入linux的审计服务auditd —— 筑梦之路
linux·运维·服务器
陈说技术2 小时前
服务器CPU达到100%解决思路
运维·服务器
hi_link2 小时前
centos系统将/home分区的空间分配给/
linux·运维·centos
应用市场2 小时前
Linux驱动开发原理详解:从入门到实践
linux·运维·驱动开发
siriuuus2 小时前
Linux MySQL 多实例部署与配置实践
linux·运维·mysql
郝学胜-神的一滴3 小时前
深入解析Linux下的`lseek`函数:文件定位与操作的艺术
linux·运维·服务器·开发语言·c++·软件工程
冲上云霄的Jayden3 小时前
ubuntu 22一步步 安装docker和配置使用国内源
linux·ubuntu·docker·国内源