在 Docker 上安装 cRPD
本节包含以下主题:
安装之前
在安装 cRPD 作为路由服务以在 Linux 容器环境中实现路由功能之前,请确保:
-
验证用于部署 cRPD 的 Linux 服务器的系统要求规范,请参阅 在 Linux 服务器上部署 cRPD 的要求。
安装并验证 Docker
在 Linux 主机平台上安装并配置 Docker 要实现 Linux 容器环境,请参阅 安装 Docker 以获取有关支持的 Linux 主机作系统的安装说明。
验证 Docker 安装。请参阅 调试 cRPD 应用程序。
要安装最新的 Docker,请执行以下作:
root@ubuntu-vm18:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK
root@ubuntu-vm18:~# lsb_release -cs
focal
root@ubuntu-vm18:~# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Hit:1 http://us.archive.ubuntu.com/ubuntu focal InRelease Get:2 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease [128 kB] Get:3 https://download.docker.com/linux/ubuntu focal InRelease [57.7 kB] Hit:4 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease Get:5 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages [50.2 kB] Get:6 http://us.archive.ubuntu.com/ubuntu focal-security InRelease [128 kB] Get:7 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [3,563 kB] Get:8 http://us.archive.ubuntu.com/ubuntu focal-updates/main Translation-en [550 kB] Get:9 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 c-n-f Metadata [17.7 kB] Get:10 http://us.archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [3,236 kB] Get:11 http://us.archive.ubuntu.com/ubuntu focal-updates/restricted Translation-en [453 kB] Get:12 http://us.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [1,230 kB] Get:13 http://us.archive.ubuntu.com/ubuntu focal-updates/universe Translation-en [295 kB] Get:14 http://us.archive.ubuntu.com/ubuntu focal-security/main amd64 Packages [3,195 kB] Get:15 http://us.archive.ubuntu.com/ubuntu focal-security/main Translation-en [472 kB] Get:16 http://us.archive.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [3,117 kB] Get:17 http://us.archive.ubuntu.com/ubuntu focal-security/restricted Translation-en [436 kB] Fetched 16.9 MB in 8s (2,172 kB/s) Reading package lists... Done
root@ubuntu-vm18:~# apt update
Hit:1 https://download.docker.com/linux/ubuntu focal InRelease Hit:2 http://us.archive.ubuntu.com/ubuntu focal InRelease Get:3 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease [128 kB] Hit:4 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease Get:5 http://us.archive.ubuntu.com/ubuntu focal-security InRelease [128 kB] Get:6 http://us.archive.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [14.3 kB] Fetched 270 kB in 1s (198 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 67 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@ubuntu-vm18:~# apt install docker-ce
Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: containerd.io docker-buildx-plugin docker-ce-cli docker-ce-rootless-extras docker-compose-plugin pigz slirp4netns Suggested packages: aufs-tools cgroupfs-mount | cgroup-lite The following NEW packages will be installed: containerd.io docker-buildx-plugin docker-ce docker-ce-cli docker-ce-rootless-extras docker-compose-plugin pigz slirp4netns 0 upgraded, 8 newly installed, 0 to remove and 67 not upgraded. Need to get 122 MB of archives. After this operation, 440 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 pigz amd64 2.4-1 [57.4 kB] Get:2 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 slirp4netns amd64 0.4.3-1 [74.3 kB] Get:3 https://download.docker.com/linux/ubuntu focal/stable amd64 containerd.io amd64 1.7.22-1 [29.5 MB] Get:4 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-buildx-plugin amd64 0.16.2-1~ubuntu.20.04~focal [29.9 MB] Get:5 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-ce-cli amd64 5:27.2.1-1~ubuntu.20.04~focal [15.0 MB] Get:6 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-ce amd64 5:27.2.1-1~ubuntu.20.04~focal [25.6 MB] Get:7 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-ce-rootless-extras amd64 5:27.2.1-1~ubuntu.20.04~focal [9,577 kB] Get:8 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-compose-plugin amd64 2.29.2-1~ubuntu.20.04~focal [12.5 MB] Fetched 122 MB in 4s (29.5 MB/s) Selecting previously unselected package pigz. (Reading database ... 71975 files and directories currently installed.) Preparing to unpack .../0-pigz_2.4-1_amd64.deb ... Unpacking pigz (2.4-1) ... Selecting previously unselected package containerd.io. Preparing to unpack .../1-containerd.io_1.7.22-1_amd64.deb ... Unpacking containerd.io (1.7.22-1) ... Selecting previously unselected package docker-buildx-plugin. Preparing to unpack .../2-docker-buildx-plugin_0.16.2-1~ubuntu.20.04~focal_amd64.deb ... Unpacking docker-buildx-plugin (0.16.2-1~ubuntu.20.04~focal) ... Selecting previously unselected package docker-ce-cli. Preparing to unpack .../3-docker-ce-cli_5%3a27.2.1-1~ubuntu.20.04~focal_amd64.deb ... Unpacking docker-ce-cli (5:27.2.1-1~ubuntu.20.04~focal) ... Selecting previously unselected package docker-ce. Preparing to unpack .../4-docker-ce_5%3a27.2.1-1~ubuntu.20.04~focal_amd64.deb ... Unpacking docker-ce (5:27.2.1-1~ubuntu.20.04~focal) ... Selecting previously unselected package docker-ce-rootless-extras. Preparing to unpack .../5-docker-ce-rootless-extras_5%3a27.2.1-1~ubuntu.20.04~focal_amd64.deb ... Unpacking docker-ce-rootless-extras (5:27.2.1-1~ubuntu.20.04~focal) ... Selecting previously unselected package docker-compose-plugin. Preparing to unpack .../6-docker-compose-plugin_2.29.2-1~ubuntu.20.04~focal_amd64.deb ... Unpacking docker-compose-plugin (2.29.2-1~ubuntu.20.04~focal) ... Selecting previously unselected package slirp4netns. Preparing to unpack .../7-slirp4netns_0.4.3-1_amd64.deb ... Unpacking slirp4netns (0.4.3-1) ... Setting up slirp4netns (0.4.3-1) ... Setting up docker-buildx-plugin (0.16.2-1~ubuntu.20.04~focal) ... Setting up containerd.io (1.7.22-1) ... Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /lib/systemd/system/containerd.service. Setting up docker-compose-plugin (2.29.2-1~ubuntu.20.04~focal) ... Setting up docker-ce-cli (5:27.2.1-1~ubuntu.20.04~focal) ... Setting up pigz (2.4-1) ... Setting up docker-ce-rootless-extras (5:27.2.1-1~ubuntu.20.04~focal) ... Setting up docker-ce (5:27.2.1-1~ubuntu.20.04~focal) ... Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service. Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket. Processing triggers for man-db (2.9.1-1) ... Processing triggers for systemd (245.4-4ubuntu3.20) ...
root@ubuntu-vm18:~# docker version
Client: Docker Engine - Community Version: 27.2.1 API version: 1.47 Go version: go1.22.7 Git commit: 9e34c9b Built: Fri Sep 6 12:08:15 2024 OS/Arch: linux/amd64 Context: default Server: Docker Engine - Community Engine: Version: 27.2.1 API version: 1.47 (minimum version 1.24) Go version: go1.22.7 Git commit: 8b539b8 Built: Fri Sep 6 12:08:15 2024 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.7.22 GitCommit: 7f7fdf5fed64eb6a7caf99b3e12efcf9d60e311c runc: Version: 1.1.14 GitCommit: v1.1.14-0-g2c9f560 docker-init: Version: 0.19.0 GitCommit: de40ad0
从 Docker Registry 下载 cRPD 软件
cRPD 软件以 cRPD Docker 文件的形式从瞻博网络 Docker 注册表提供。
您可以通过两种方式下载软件:
-
瞻博网络 Docker 注册表
-
瞻博网络软件下载页面
-
在导入 cRPD 软件之前,请确保 Docker 已安装在 Linux 主机上,并且 Docker 引擎正在运行。
-
请务必在下载 cRPD 软件之前向 瞻博网络支持 部门注册。
在主机上安装 Docker 引擎后,请执行以下作以下载并开始使用 cRPD 映像:
要使用 Juniper Docker 注册表下载 cRPD 软件,请执行以下作:
从瞻博网络 URL 下载 cRPD 软件
创建数据卷
要创建数据卷,请执行以下作:
要在主机网络模式下启动 cRPD:
-
在主机模式下,网络命名空间是共享的。例如,如果在 Pod 中定义了接口,则在主机上也可以看到相同的接口。Docker 容器使用主机网络命名空间。运行命令以在主机网络模式下启动 cRPD:
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:24.2R1.14
配置内存
您可以通过在以下命令中指定内存大小来限制分配给 cRPD 的内存量:
-
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:24.2R1.14
使用 CLI 配置 cRPD
cRPD 为路由服务提供 Junos 命令行配置和作命令。它提供了路由协议配置的子集,使节点能够参与拓扑和路由。
您可以从 Linux shell 配置接口。接口配置仅适用于 ISO 地址。
要使用 CLI 配置 cRPD 容器,请执行以下作: