当前位置: 首页 > news >正文

Containerlab实战系列之四:自动加载配置

Containerlab实战系列之四:自动加载配置

文章目录

  • Containerlab实战系列之四:自动加载配置
    • 一、问题:宿主机重启,容器全部退出
    • 二、重新部署,配置却归零
    • 三、第一步:整理设备配置文件
    • 四、第二步:修改拓扑加入 startup-config
    • 五、验证:重启后配置自动加载
    • 写在最后

📌本文导读
第三篇我们手动配置接口完成了实验,但实验环境有个「健忘症」:宿主机关机或重启后,容器全部退出,配置全部归零。这一篇教你用 Containerlab 的startup-config机制,把设备配置固化到拓扑文件中,让配置随容器启动自动加载——重启不慌,配置不丢。

📑本文目录
01 问题:宿主机重启,容器全部退出
02 重新部署,配置却归零
03 第一步:整理设备配置文件
04 第二步:修改拓扑加入 startup-config
05 验证:重启后配置自动加载

一、问题:宿主机重启,容器全部退出

Containerlab 实验环境跑得好好的,但有一天你关机下班,第二天开机想继续实验,却发现一切都不在了——这不是玄学,而是容器的默认行为:宿主机关机或重启后,容器默认不会自动拉起,全部处于 exited 状态

用 docker ps -a 查看所有容器(包括已退出的),可以看到两个实验节点都变成了 exited:

[root@jmz mylabs]# docker ps -a

💡一句话记忆:容器不是服务:宿主机重启后,Docker 默认不会自动拉起容器,全部进入 exited 状态。

二、重新部署,配置却归零

想继续实验,最简单的办法是重新部署环境。Containerlab 的–reconfigure参数会强制清理旧容器并重新创建:

[root@jmz mylabs]# containerlab deploy -t crpd-lab.yaml --reconfigure

从输出可以看到:旧的 r1、r2 容器被移除,环境被完整重建,两个节点重新进入running状态。

但是问题来了——新容器里的配置是空的。之前手动配好的接口 IP、SSH、NETCONF 等配置全部丢失,一切都要从头再来。节点少还好,如果拓扑里有几十台设备,手动重配一遍简直是一场灾难。

要解决这个问题,就需要让设备配置「随容器而生」——这就是本篇的主角:startup-config 自动加载。操作只需两步。

三、第一步:整理设备配置文件

在实验目录下新建一个configs文件夹,把所有设备的配置文件保存到里面。每个设备一个文件,命名清晰对应节点:

configs 目录下存放了 r1.cfg、r2.cfg 两份配置,分别对应拓扑中的 r1、r2 两个节点。查看 r1 的配置文件:

配置内容就是我们之前在设备上手动敲的那些命令:主机名 r1、root 认证、SSH/NETCONF 服务、eth1 接口 172.16.1.1/30,全部以 Junos 层级语法保存。再看 r2:

r2 的配置与 r1 对应:host-name r2、eth1 接口 172.16.1.2/30,与 r1 构成 172.16.1.0/30 的点对点互联段。

四、第二步:修改拓扑加入 startup-config

修改 crpd-lab.yaml 拓扑文件,为每个节点加入startup-config字段,指向 configs 文件夹下对应的配置文件:

⚠️ startup-config 是什么:startup-config 是 Containerlab 的标准机制:节点启动时会自动把指定文件的内容加载为设备的初始配置,等价于把配置文件「焊死」在拓扑里,无需任何手动干预。

这样配置就和拓扑文件一起纳入了版本管理——改配置、改拓扑、重建环境,全部走「基础设施即代码」的流程。

五、验证:重启后配置自动加载

重启宿主机,重新生成实验拓扑。可以看到容器被重新创建并正常启动:

容器正常启动,两个节点均处于运行状态:

进入 r1 验证配置是否真的自动加载了——不用敲任何配置命令,直接查看设备配置:

[root@jmz mylabs]# docker exec -it clab-crpd-lab-r1 bash

注意输出:host-name r1、SSH/NETCONF 服务、eth1 接口 172.16.1.1/30全部就位——配置在容器启动时已经自动加载,无需手动配置!

r2 同样验证:

[root@jmz mylabs]# docker exec -it clab-crpd-lab-r2 bash

最后测试两台设备间的连通性,从 r1 ping 对端接口:

(图11:r1 ping r2 连通成功)

ping 通!网络设备成功自动加载配置,实验环境从重启到可用,全程零手动配置。

💡一句话记忆:配置自动加载两步走:① 设备配置存到 configs 目录;② 拓扑里加 startup-config 指向它。之后每次 deploy,配置自动生效。

写在最后

这一篇我们用 startup-config 机制治好了实验环境的「健忘症」:配置与拓扑绑定,重启自动加载,从此告别手动重配。下一篇我们进入抓包环节,看看流量在容器网络里到底怎么流动。

系列文章持续更新中 · 系列之五:Containerlab 网络抓包(敬请期待)

http://www.jsqmd.com/news/1345393/

相关文章:

  • FastAdmin仓库出入库管理插件|高效物资进销存系统(支持扫码打单与二次开发)
  • 2026保定财税管理公司选择指南:十大机构差异化能力深度解析 - 增长观测局
  • 2026邢台监控安装、监控维修厂家哪家好?本地实用选购指南与避坑要点 - mobible
  • 系规论文太难写?金老师团队帮你破局
  • UE5横板2D游戏开发:AI行为树与碰撞检测实战指南
  • 量化交易策略工程化实践:从双均线策略构建到回测验证
  • Python构建咖啡销售数据分析系统:从数据处理到智能预测
  • 基于具身智能体与专用分割模型的细粒度车辆损伤评估技术实践
  • 国内网络友好游戏平台盘点:无需加速器即可流畅使用 - 资讯综合
  • 深圳网站建设哪家口碑好:拒绝被割韭菜,教你从行业乱象中选出真正靠谱的服务商
  • Zookeeper集群部署与分布式锁实现实战指南
  • 2026年济宁大颗粒尿素批发商推荐哪家建议参考青州市天企源化肥有限公司 - 热点品牌推荐
  • FPS游戏外挂与吞子弹问题诊断:从网络同步到反作弊的全面解析
  • 2026沙河市网络布线,无线覆盖厂家推荐:安防监控与弱电工程怎么选?实用选购指南 - mobible
  • 2026年8月四川白酒品牌大挑选,哪家能脱颖而出引关注? - 企业推荐官
  • PSO-MPPT算法在光伏系统遮阴条件下的优化应用
  • 别瞎找Java培训了!3个狠招,一眼揪出烂机构
  • 2026桐乡外墙装修内墙装修避坑指南:5个常见坑+5条硬标准,靠谱公司推荐 - mobible
  • 【开源普惠・助力国产 AI】基于元初混沌熵控理论 —— AI 语料有序度智能清洗系统 完整开源
  • 基于Coze平台的火柴人心理学视频自动化生成工作流搭建指南
  • 2026肇庆浴室柜厂家哪家好,淋浴花洒厂家推荐避坑指南:5个挑选要点,帮你绕开90%的坑 - mobible
  • 零代码AI开发:DeepSeek与Cursor实战千问API设计
  • 第 7 章 舵机控制的高级话题 速度曲线、扭矩管理、通信可靠性、寿命维护——那些规格书不会告诉你的真相
  • Re:Linux系统篇(七) 开发工具篇 Chapter3:Makefile 从入门到精通 —— 依赖关系、伪目标、栈式推导与自动化构建全解
  • 2026内丘县电脑维修,电脑回收厂家推荐:5个避坑要点+4条实用选购指南 - mobible
  • Socket 管理详解——从原理到高性能架构设计(C++/Qt 实战)
  • 基于FPGA的AM调制系统实现:从数字信号处理到硬件设计实战
  • 大连装修公司**2026:半包和整装到底哪家强? - 米諾
  • C# JSON解析实战:System.Text.Json与Newtonsoft.Json深度对比与性能优化
  • Python 序列容器总表