如何从Landscape中移除孤立的Docker网络接口
如何从Landscape中移除孤立的Docker网络接口
我之前帮几个用户处理过类似的Landscape残留Docker接口的问题,你用的是Ubuntu 24.04.1 LTS,Nextcloud AIO备份生成的临时veth开头的网络接口,虽然服务器上已经清理掉,但Landscape监控里还留着记录,时间长了确实会把页面撑得乱七八糟。下面给你几个实用的解决办法:
一、手动清理已残留的孤立接口记录
如果只是想先把现有的残留接口一次性清掉,直接在Landscape的Web管理界面操作最直观:
- 登录你的Landscape管理后台,进入「网络监控」板块
- 用名称筛选功能(比如搜
veth),把所有不在服务器上的孤立接口找出来 - 批量勾选这些接口,点击界面上的「删除」按钮就能搞定
要是你更习惯命令行操作,也可以用Landscape的API工具:
- 先安装API客户端(如果没装的话):
sudo apt install landscape-api - 登录到你的Landscape服务器:
landscape-api login https://你的Landscape服务器地址 - 列出所有带
veth的接口,找到对应的ID:landscape-api list-network-interfaces | grep veth - 用ID删除接口:
landscape-api remove-network-interface <接口ID>,批量处理的话可以写个简单的循环脚本一次性删完
二、配置Landscape自动忽略临时Docker接口
要从根源上避免未来再出现这种情况,你可以让Landscape直接忽略所有Docker的临时veth接口:
- 编辑Landscape客户端的配置文件:
sudo nano /etc/landscape/client.conf - 在文件里添加或修改这一行:
exclude_network_interfaces = veth* - 保存文件后,重启Landscape客户端服务让配置生效:
sudo systemctl restart landscape-client
这样之后,Landscape就不会再监控新生成的veth临时接口了,自然也就不会再产生残留记录。
三、配合Docker定期清理网络资源
虽然你说服务器上已经清理了孤立接口,但配合Docker的定期清理能从源头减少临时接口的生成:
- 手动执行Docker网络清理:
sudo docker network prune -f(这个命令会删除所有未被容器使用的网络) - 可以把这个命令加到crontab里定时执行,比如每天凌晨1点自动清理:
# 编辑crontab任务 crontab -e # 添加下面这一行 0 1 * * * /usr/bin/docker network prune -f
这个操作能帮你在服务器层面提前清掉废弃网络,降低Landscape产生残留记录的概率。
备注:内容来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

