Installing containers
This chapter describes container installation topics. Container installation topics include:
- Container installation prerequisites
Ensure that prerequisites are met before launching a container.
- Launching a container manually
Launches a single SR Linux container using a manual procedure.
Container installation prerequisites
Ensure that prerequisites are met before installing an SR Linux container.
Minimum system requirements:
- CentOS 7.4 system, kernel 4.17
- 8 GB RAM
- 8 core CPU
- The host machine user must have sudo privileges (preferably passwordless)
Minimum software requirements:
- Docker CE installed, minimum version 18.09:
- Python version 3.6 or later
- srlinux-vX.Y.Z-N.tar.xz file (for the SR Linux Docker image)
where X = major, Y = minor, Z = patch, and N = build number
Note: Containers that are instantiated without a license key from
Nokia are active for 14 days only.
Launching a container manually
- Copy the srlinux-vX.Y.Z-N.tar.xz file into ~/ of the CentOS 7 host machine.
-
Load the Docker image. To load the image, the user must have root privilege, or be part of
the Docker group.
$ docker image load -i ~/srlinux-vX.Y.Z-N.tar.xz
-
Check that the Docker image was imported correctly:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE srlinux 19.11.1- 3e77d45745f2 7 hours ago 1.3GB
-
Launch an instance of the SR Linux
container on the host using the options in the following command line. This command must be
entered in a single line. See the note that follows about copying text from a PDF file without
broken lines.
$ docker run -t -d --rm --privileged \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ --sysctl net.ipv4.ip_forward=0 \ --sysctl net.ipv6.conf.all.accept_dad=0 \ --sysctl net.ipv6.conf.default.accept_dad=0 \ --sysctl net.ipv6.conf.all.autoconf=0 \ --sysctl net.ipv6.conf.default.autoconf=0 \ -u $(id -u):$(id -g) \ --name srlinux_dut1 srlinux:vX.Y.Z-N sudo bash -c '/opt/srlinux/bin/sr_linux'
where X = major, Y = minor, Z = patch, and N = build Number for
srlinux:vX.Y.Z-N
Note: Copying a long command string from a PDF file introduces line breaks. As a workaround, copy the text string and place into Notepad++. Highlight the text and select CTRL+J. The result is a single line with no returns. -
Check that the docker container has been created with the name 'srlinux':
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9d5dbd03f7f8 srlinux:19.11.1 "/tini--fixuid-q.." 3 mins ago Up3 mins. srlinux_dut1
-
Turn off the Docker0 Tx checksum offload:
# sudo ethtool --offload docker0 tx off
-
Open an SSH session to the DUT using the following credentials:
- username: admin
- password: admin
# ssh admin@$(docker inspect srlinux_dut1 --format {{.NetworkSettings.IPAddress}}) admin@172.17.0.4's password: ___ ___ ___ ___ ___ / /\ / /\ ___ /__/\ /__/\ /__/| / /:/_ / /::\ ___ / /\ \ \:\ \ \:\ | |:| / /:/ /\ / /:/\:\/__/\ / /:/ \ \:\ \ \:\ | |:| / /:/ /::\ / /:/~/:/\ \:\ __/__/::\ _____\__\:\ ___ \ \:\ __|__|:| /__/:/ /:/\:/__/:/ /:/__\ \:\ / \__\/\:\ /__/::::::::/__/\ \__\:/__/::::\____ \ \:\/:/~/:\ \:\/:::::/\ \:\ / /:/ \ \:\/\ \:\~~\~~\\ \:\ / /:/ ~\~~\::::/ \ \::/ /:/ \ \::/~~~~ \ \:\ /:/ \ \:\/\ \:\ ~~~ \ \:\ /:/ |~~|:|~~ \__\/ /:/ \ \:\ \ \:\/:/ \__\::/\ \:\ \ \:\/:/ | |:| /__/:/ \ \:\ \ \::/ /__/:/ \ \:\ \ \::/ | |:| \__\/ \__\/ \__\/ \__\/ \__\/ \__\/ |__|/ Hello admin, Welcome to the srlinux CLI. Type 'help' (and press <ENTER>) if you need any help using this. --{ running }--[ ]--
-
Verify the application versions running on the system:
# info from state system app-management application * | as table | filter fields pid author version
A:3-node-srlinux-A# info from state system app-management application * | as table | filter fields pid author version +---------------------+---------+------------+------------------------+ | Name | Pid | Author | Version | +=====================+=========+============+========================+ | aaa_mgr | 2189 | Nokia | v20.6.0-13-gc6a313b84c | | acl_mgr | 2198 | Nokia | v20.6.0-13-gc6a313b84c | | app_mgr | 2131 | Nokia | v20.6.0-13-gc6a313b84c | | arp_nd_mgr | 2207 | Nokia | v20.6.0-13-gc6a313b84c | | bfd_mgr | | | | | bgp_mgr | 2650 | Nokia | v20.6.0-13-gc6a313b84c | | chassis_mgr | 2216 | Nokia | v20.6.0-13-gc6a313b84c | | dev_mgr | 2155 | Nokia | v20.6.0-13-gc6a313b84c | | dhcp_client_mgr | 2228 | Nokia | v20.6.0-13-gc6a313b84c | | fib_mgr | 2237 | Nokia | v20.6.0-13-gc6a313b84c | | gnmi_server | 2473 | Nokia | v20.6.0-13-gc6a313b84c | | idb_server | 2180 | Nokia | v20.6.0-13-gc6a313b84c | | isis_mgr | | | | | json_rpc | 2476 | Nokia | v20.6.0-13-gc6a313b84c | | l2_mac_learn_mgr | 2248 | Nokia | v20.6.0-13-gc6a313b84c | | l2_mac_mgr | 2258 | Nokia | v20.6.0-13-gc6a313b84c | | l2_static_mac_mgr | | | | | lag_mgr | 2267 | Nokia | v20.6.0-13-gc6a313b84c | | linux_mgr | 2276 | Nokia | v20.6.0-13-gc6a313b84c | | lldp_mgr | 2657 | Nokia | v20.6.0-13-gc6a313b84c | | log_mgr | 2285 | Nokia | v20.6.0-13-gc6a313b84c | | mcid_mgr | 2294 | | | | mgmt_server | 2303 | Nokia | v20.6.0-13-gc6a313b84c | | mpls_mgr | | | | | net_inst_mgr | 2312 | Nokia | v20.6.0-13-gc6a313b84c | | oam_mgr | 2325 | Nokia | v20.6.0-13-gc6a313b84c | | ospf_mgr | | Nokia | | | plcy_mgr | 2667 | Nokia | v20.6.0-13-gc6a313b84c | | qos_mgr | 2471 | Nokia | v20.6.0-13-gc6a313b84c | | sdk_mgr | 2335 | Nokia | v20.6.0-13-gc6a313b84c | | sshd-mgmt | 2923 | | | | static_route_mgr | 2674 | Nokia | v20.6.0-13-gc6a313b84c | | supportd | 2140 | Nokia | v20.6.0-13-gc6a313b84c | | vrrp_mgr | | | | | xdp_cpm | 2349 | Nokia | v20.6.0-13-gc6a313b84c | | xdp_lc_1 | 2365 | Nokia | v20.6.0-13-gc6a313b84c | +---------------------+---------+------------+------------------------+