一次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
相关推荐
Mitch3113 分钟前
【漏洞复现】CVE-2015-5531 Arbitrary File Reading
web安全·elasticsearch·网络安全·docker·漏洞复现
wanhengidc19 分钟前
短视频运营行业该如何选择服务器?
运维·服务器
雨中rain34 分钟前
Linux -- 从抢票逻辑理解线程互斥
linux·运维·c++
-KamMinG44 分钟前
Centos7.9安装openldap+phpldapadmin+grafana配置LDAP登录最详细步骤 亲测100%能行
运维·grafana
Bessssss1 小时前
centos日志管理,xiao整理
linux·运维·centos
豆是浪个1 小时前
Linux(Centos 7.6)yum源配置
linux·运维·centos
vvw&1 小时前
如何在 Ubuntu 22.04 上安装 Ansible 教程
linux·运维·服务器·ubuntu·开源·ansible·devops
王铁柱子哟-1 小时前
解决 正在下载VS Code 服务器... 问题
运维·服务器
我自飞扬临天下1 小时前
Docker常用命令
docker
chinayu20072 小时前
虚拟机桥接模式
linux·运维·桥接模式