一次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
相关推荐
IvanCodes1 小时前
一、Docker:一场颠覆应用部署与运维的容器革命
docker·容器
好名字更能让你们记住我1 小时前
Linux多线程(十二)之【生产者消费者模型】
linux·运维·服务器·jvm·windows·centos
门思科技1 小时前
设计可靠 LoRaWAN 设备时需要考虑的关键能力
运维·服务器·网络·嵌入式硬件·物联网
栗子~~1 小时前
Milvus docker-compose 部署
docker·容器·milvus
学习编程的gas1 小时前
Linux开发工具——gcc/g++
linux·运维·服务器
椰汁菠萝2 小时前
ubuntu下免sudo执行docker
ubuntu·docker·免sudo
dessler2 小时前
Kafka-消费者(Consumer)和消费者组(Consumer Group)
linux·运维·kafka
进击的程序汪2 小时前
Linux 启动过程流程图--ARM版
linux·运维·arm开发
紫璨月2 小时前
nginx反向代理的bug
运维·nginx·bug
没有名字的小羊2 小时前
2.安装Docker
运维·docker·容器