SR Linux is a part of the Nokia Data Center Fabric solution that has been designed from the ground up to free your cloud builder networking teams to rapidly design and deploy, easily adapt and integrate and confidently operate and automate data center network fabrics: at scale.
SR Linux is a truly open, extensible and resilient network operating system (NOS) is the foundation of this next generation solution, enabling scalability, flexibility and efficiency across your data center and cloud environments.
To make SR Linux easily available to everyone, Nokia provides a free and unrestricted access to SR Linux container via publicly accessible GitHub container registry. This means that anyone can pull SR Linux container image exactly the same way as they would pull any other image:
docker pull ghcr.io/nokia/srlinux
When image is referenced without a tag, the latest container image version will be pulled. To obtain a specific version of a containerized SR Linux, refer to the list of tags the nokia/srlinux image has and change the docker pull command accordingly.
When the image is pulled to a local image store, you can start exploring SR Linux by either running a full-fledged lab topology, or by starting a single container to explore SR Linux CLI and its management interfaces.
A system on which you can run SR Linux containers should conform to the following requirements:
Let's explore the different ways you can launch SR Linux container.
docker run -t -d --rm --privileged \
-v $(pwd)/topology.yml:/tmp/topology.yml \
-u $(id -u):$(id -g) \
--name srlinux ghcr.io/nokia/srlinux \
sudo bash /opt/srlinux/bin/sr_linux
The above command will start the container named srlinux on the host system with a single management interface attached to the default docker network. Note the necessity of an additional volume mount that we need to provide to select the desired emulated chassis type. It is driven via the topology.yml file that contains parameters specific to a given chassis/card. For the sake of this exercise, let's use IXR-D3L chassis that can be selected by providing the following topology.yml file to the command:
chassis_configuration:
"chassis_type": 72
"base_mac": "1a:b0:00:00:00:00"
"cpm_card_type": 187
slot_configuration:
1:
"card_type": 187
"mda_type": 200
This approach is viable when all you need is to run a standalone container to explore SR Linux CLI or to interrogate its management interfaces. But it is not particularly suitable to run multiple SR Linux containers with links between them, as this requires some extra work.
For multi-node SR Linux deployments containerlab offers a better way.
Containerlab provides a CLI for orchestrating and managing container-based networking labs. It starts the containers, builds a virtual wiring between them and manages labs lifecycle.
A quickstart guide is a perfect place to get started with containerlab.
Continue with learn.srlinux.dev documentation portal to learn more on how to connect to SR Linux over its different management interfaces.