# Getting Started

# Requirements

Labs I publish here use Containerlab, a free network lab solution developed by engineers at Nokia. It doesn't require a costly subscription, and in my experience, it's more resource-efficient, more reliable, and a lot more enjoyable than the emulators of years past.

  • Containerlab installed on a Linux PC, server, WSL, or MacBook. The labs here have been built and tested on Ubuntu server 24.04.2 LTS.
  • Lab images — Arista cEOS and Ubuntu Linux
  • Lab files available on my GitHub

# Installing Containerlab

Run the command:

curl -sL https://containerlab.dev/setup | sudo -E bash -s "all"

This will install all components needed to run Containerlab, including Docker. See detailed or alternate installation instructions here.

# Images

# Network-Host

This is a custom Ubuntu host with a few extra packages installed like sudo, iperf3, tcp dump, traceroute, curl, nginx, and more. Containerlab will pull this image from Docker when you run your first lab.

# Arista cEOS

Arista offers these images for free once you've created an account. Navigate to "Support → Software Download → cEOS Lab → 4.32 → EOS-4.32.5.1M → cEOS64-lab-4.32.5.1M.tar.xz"

Arista EOS version used in these labs
Arista EOS version used in these labs

# Lab files

Clone the repo containing all my labs/courses:

git clone https://github.com/network-chadmin/containerlab.git

Cloning the repo above will download all the necessary lab files to start, assuming you've acquired the proper images. Move to the directory with your desired lab's YAML file in it:

cd /path/to/your/labfile.clab.yml

Then go ahead and launch your lab:

containerlab deploy

If successful, you’ll see output listing your nodes and their connection status.
You can now access devices via terminal or your preferred terminal emulator (like SecureCRT, tabby, or PuTTY).

For a more in-depth look at how to administer Containerlab and Docker see my Containerlab Reference guide.