Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Installing cRPD on Docker

 

This section outlines the steps to install the cRPD container in a Linux server environment that is running Ubuntu or Red Hat Enterprise Linux (RHEL). The cRPD container is packaged in a Docker image and runs in the Docker Engine on the Linux host.

This section includes the following topics:

Before You Install

Before you install cRPD as routing service to achieve routing functionality in a Linux container environment, ensure to:

Install and Verify Docker

Install and configure Docker on Linux host platform to implement the Linux container environment, see Install Docker for installation instructions on the supported Linux host operating systems.

Verify the Docker installation. See Debugging cRPD Application.

Download the cRPD Software

The cRPD software is available as a cRPD Docker file from the Juniper Internal Docker registry.

There are two ways to download the software:

  • Juniper software download page

  • Juniper Docker Registry

Before you import the cRPD software, ensure that Docker is installed on the Linux host and that the Docker Engine is running.

Once the Docker Engine has been installed on the host, perform the following to download and start using the cRPD image:

Note

You must include the --privileged flag in the docker run command to enable the cRPD container to run in privileged mode.

To download the cRPD software using the Juniper Docker Registry:

  1. Log in to the Juniper Internal Docker registry using the login name and password that you received as part of the sales fulfillment process when ordering cRPD.

    root@ubuntu-vm18:~# docker login hub.juniper.net -u <username> -p <password>

  2. Pull the docker image from the download site using the following command:

    root@ubuntu-vm18:~# docker pull hub.juniper.net/routing/crpd:19.2R1.8

  3. Verify images in docker image repository.

    root@ubuntu-vm18:~# docker images

To download the cRPD software from the Juniper download URL:

  1. Download the cRPD software image from the Juniper Networks website.

    root@ubuntu-vm18:~# docker load -i crpd-19.2R1.8.tgz

  2. Verify the downloaded images in docker image repository

    root@ubuntu-vm18:~# docker images

Creating Data Volumes and Running cRPD using Docker

To create data volumes:

  1. Create data volume for configuration and var logs.

    root@ubuntu-vm18:~# docker volume create crpd01-config

    root@ubuntu-vm18:~# docker volume create crpd01-varlog

    Data volumes remain even after containers are destroyed and can be attached to newer containers. Data volumes are not shared between multiple containers at the same time unless they are ready-only volumes.

  2. Attach the data volumes to create and launch the container to the cRPD instance.

    root@ubuntu-vm18:~# docker run --rm --detach --name crpd01 -h crpd01 --net=bridge --privileged -v crpd01-config:/config -v crpd01-varlog:/var/log -it crpd:19.2R1.8

    Data volumes remain even after containers are destroyed and can be attached to newer containers. Data volumes are not shared between multiple containers at the same time unless they are ready-only volumes.

To launch cRPD in host networking mode:

  1. Run the command to launch cRPD in host networking mode:

    root@ubuntu-vm18:~# docker run --rm --detach --name crpd01 -h crpd01 --privileged --net=host -v crpd01-config:/config -v crpd01-varlog:/var/log -it crpd:19.2R1.8

Configuring cRPD using the CLI

cRPD provides Junos command line configuration and operational commands for routing service. It provides subset of routing protocols configuration that enable node participates in topology and routing.

You can configure interfaces from Linux shell. Interface configuration is available only for the ISO addresses.

To configure the cRPD container using the CLI:

  1. Log in to the cRPD container.

    root@ubuntu-vm18:~/# docker exec -it crpd01 cli

  2. Enter configuration mode.

    root@crpd01> configure

  3. Set the root authentication password by entering a cleartext password, an encrypted password, or an SSH public key string (DSA or RSA).

    root@crpd01# set system root-authentication plain-text-password

  4. Commit the configuration to activate it on the cRPD instance.

    root@crpd01# commit

  5. (Optional) Use the show command to display the configuration to verify that it is correct.

    root@crpd01#show configuration

    root@crpd01# show

Configuring Memory

To limit the amount of memory allocated to the cRPD:

  1. You can specify the memory size using the following command:

    root@ubuntu-vm18:~# docker run --rm --detach --name crpd01 -h crpd01 --privileged -v crpd01-config:/config -v crpd01-varlog:/var/log -m 2048MB --memory-swap=2048MB -it crpd:19.2R1.8