Containerlab
An open source tool that builds network labs from a short YAML file: it starts containerised network operating systems, wires them into your topology and tears it all down with one command. Labs become code you can share, version and rerun, which makes it ideal for automation practice and multi-vendor testing.
2.8k
GitHub · Sept 2026
0.79.0 (August 2026)
GitHub · Sept 2026
BSD-3-Clause
GitHub · Sept 2026
Tool
Other
srl-labs (open source)
First lab in under an hour on Linux
Intermediate
Free
What Containerlab is
Containerlab provides a command-line tool for orchestrating container-based networking labs. According to its README, it starts the containers, builds virtual wiring between them to create the topology you choose, and manages the lab's lifecycle. You describe the lab in a YAML topology file, listing the nodes and the links between them, then deploy it with one command and destroy it with another.
Why it exists
As more network operating systems ship as containers, people needed an easy way to run them in realistic topologies. General tools such as Docker Compose do not make it easy to create point-to-point links between containers, which is what a network topology is. Containerlab fills that gap.
What it can run
The README lists many containerised network operating systems, including Nokia SR Linux, Arista cEOS, Cisco XRd, SONiC, Juniper cRPD and cSRX, Cumulus VX, VyOS and FD.io VPP, and traffic generators such as Keysight IXIA-C and Ostinato. Through vrnetlab integration it can also run traditional virtual machine images, such as Juniper vMX and vSRX, Cisco IOS XRv9k, Nexus 9000v, c8000v, CSR 1000v, vIOS and ASAv, and Arista vEOS, provided you have the images. Some images are freely downloadable from their vendors, others need an account or licence.
Why it is useful on a network engineering path
- Labs as code. A topology is a small text file, so you can keep it in Git, share it and rebuild the same lab in seconds.
- Automation practice. Spin up a lab, run your Netmiko scripts or Ansible playbooks against it, destroy it and start clean. This is exactly how many teams test automation.
- Multi-vendor experience. Try the same OSPF or BGP design on several vendors' systems.
- Light on resources. Container-based nodes use far less memory than full virtual machines, so larger labs fit on a normal machine.
What you need
Containerlab runs on Linux with Docker. On Windows you can use WSL, and on a Mac a Linux virtual machine. Basic comfort with the Linux command line and YAML helps a lot.
Is it worth it?
Once you are past Packet Tracer and are learning automation, yes. It is free, actively developed with frequent releases, and has thorough documentation at containerlab.dev with many ready-made example labs. For CCNA-style Cisco IOS practice, Packet Tracer or CML is still simpler; Containerlab shines for automation, data centre and multi-vendor work.
Common questions
Is it only for Nokia? No. It is maintained under the srl-labs organisation but supports many vendors and open source routers.
Can I capture traffic? Yes. Links are Linux interfaces, so tools such as tcpdump and Wireshark work on them.
Ready to start?
Opens on srl-labs (open source) in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.