ContainerLab is the best open-source tool for building container-based network labs. But setting it up — Docker, Linux host, image sourcing, YAML topology files — takes hours before you configure a single router.
What if you could skip all of that and just describe what you need?
The ContainerLab Setup Problem
To run ContainerLab locally, you need:
- A Linux host (or WSL on Windows, or a VM)
- Docker installed and configured
- Device images sourced and built — Nokia SR Linux and FRR are free; everything else requires downloading from vendors and building Docker images via vrnetlab
- A YAML topology file written by hand
- Device configurations written manually for every router, switch, and firewall
For a 6-device OSPF lab, that's:
- 1-2 hours for first-time setup (Docker, Linux, images)
- 20-40 minutes per lab (YAML + manual configs)
Over 50 labs, that's 20-30 hours spent on setup and infrastructure — not networking.
The Cloud Alternative
NetPilot runs ContainerLab in the cloud with AI on top. The difference:
ContainerLab locally:
- Install Docker + Linux
- Source and build device images (vrnetlab Makefiles, Docker import/load)
- Write YAML topology file
- Write device configs by hand
- Deploy with
clab deploy - 20-40 minutes per lab
NetPilot (cloud ContainerLab):
- Open browser
- Describe topology in plain English
- AI generates topology + configs
- Deploy to cloud ContainerLab
- 2 minutes per lab
Same Devices, No Setup
NetPilot runs the same device images you use with ContainerLab locally:
- Nokia SR Linux — built-in, no upload needed
- FRRouting (FRR) — built-in, no upload needed
- Linux clients — built-in, no upload needed
- Cisco IOL — one-click upload, NetPilot builds the Docker image automatically
- Arista cEOS — one-click upload, auto-built
- Juniper cRPD — one-click upload, auto-built
- Palo Alto PAN-OS — one-click upload, auto-built
- Fortinet FortiGate — one-click upload, auto-built
The key difference: with local ContainerLab, you manually run vrnetlab Makefiles, handle Docker import/load commands, and troubleshoot build failures. With NetPilot, you upload the vendor file and the platform handles the entire build and verification process.
When to Use Each
Stick with local ContainerLab if:
- You need offline access (no internet required)
- You're integrating with CI/CD pipelines that require local Docker
- You want maximum control over the container runtime
- You're building custom tooling on top of ContainerLab APIs
Use NetPilot (cloud ContainerLab) if:
- You want labs without managing infrastructure
- You need AI to generate topologies and configs
- You work across multiple machines or locations
- You don't want to deal with Docker, Linux, or image management
- You want to share labs with teammates via browser
Getting Started
With local ContainerLab:
# Install containerlab
curl -sL https://containerlab.dev/setup | sudo -E bash -s "all"
# Create topology YAML
cat > lab.yml << EOF
name: ospf-lab
topology:
nodes:
r1:
kind: nokia_srlinux
image: ghcr.io/nokia/srlinux
r2:
kind: nokia_srlinux
image: ghcr.io/nokia/srlinux
links:
- endpoints: ["r1:e1-1", "r2:e1-1"]
EOF
# Deploy
sudo containerlab deploy -t lab.ymlWith NetPilot: open your browser, type "Build a 2-router OSPF lab with Nokia SR Linux", and the AI does the rest.
Want to try cloud-hosted ContainerLab? Get started with NetPilot — same devices, zero setup, AI-powered configuration.