Ubuntu24.04下安装docker,并pull ubuntu22.04,然后编译安装vpp

一、docker安装说明

解决官方源无法下载的问题

二、使用步骤

1.更新软件包索引

sudo apt update

2.安装必要的软件包,以允许apt通过HTTPS使用仓库

sudo apt install apt-transport-https ca-certificates curl software-properties-common

3.添加Docker的官方GPG密钥(已经不能用了,请用5)

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4.添加Docker的官方稳定仓库(已经不能用了,请用6)

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

5.添加Docker的阿里云 apt仓库 GPG密钥

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

6.添加Docker的阿里云 apt仓库

sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

7.再次更新软件包索引

sudo apt update

8.安装最新版本的Docker CE(社区版)

sudo apt install docker-ce

9.验证Docker是否安装成功并运行

sudo systemctl status docker

10.如果你想让非root用户也能run docker命令,可以将该用户添加到docker组

sudo groupadd -f -r vpp
sudo usermod -aG docker ${USER}

11.镜像加速

 国内从DockerHub拉取镜像有时会非常慢,推荐配置镜像加速器,默认未配置加速URL。

Docker官方、国内大型云服务器商一般提供国内加速器服务。可尝试配置以下地址,

下面列出国内常用的加速站点,总体来说阿里云的速度较稳定。

docker中国区官方镜像加速:https://registry.docker-cn.com

网易镜像加速:http://hub-mirror.c.163.com

中国科技大学镜像加速:https://docker.mirrors.ustc.edu.cn

腾讯云镜像加速:https://mirror.ccs.tencentyun.com

如果以上加速地址不稳定的话,推荐使用阿里云的镜像加速,相对较稳定一些。不过,需要在阿里去获取一下自己的专属地址,是免费获取。操作步骤也比较简单。

第一步,登录阿里云

如果没有阿里云账号,可自行注册一个,或使用支付宝或淘宝或钉钉账号登录。

第二步,登录控制台

访问“容器镜像服务->镜像工具->镜像加速器”页面。或直接访问地址。 

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

可获取属于自己的专属URL。格式为 https://<你的专属ID>.mirror.aliyuncs.com 。

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker//xxxxxx是你自己的专属ID

12.docker下安装ubuntu22.04

//搜索相关images
docker search ubuntu
docker search ubuntu:22.04

//pull ubuntu 22.04
docker pull ubuntu:22.04
docker images

//创建ubuntu:22.04-vpp容器,

//1.映射端口,用于host ssh到docker里面(其他sshd的配置参见:使用SSH远程直连Docker容器_docker ssh-CSDN博客)netstat -atunlp,

//2.--privileged=true(docker run:--privileged=true选项解析(特权模式:赋予容器几乎与主机相同的权限)-CSDN博客)

//3. -v [主机目录]:[容器目录] (必须的,否则主机接口无法被docker的容器失败到)

docker run -dit --name ubuntu22.04-vpp --privileged=true -v /sys/bus/pci/drivers:/sys/bus/pci/drivers -v /sys/kernel/mm/hugepages:/sys/kernel/mm/hugepages -v /sys/devices/system/node:/sys/devices/system/node -v /dev:/dev -p 8088:8080 ubuntu:22.04 /bin/bash
 

//启动容器

docker ps -a

docker start ubuntu22.04-vpp

docker ps

docker exec -it ubuntu22.04-vpp bash

//ubuntu:22.04-vpp容器里面更新sshd_config

vi /etc/ssh/sshd_config

#Port 22 ---> Port 8080

#PermitRootLogin prohibit-password ---> PermitRootLogin yes

//重启sshd(每次启动都需要手工启动)

service ssh restart

/* 参考命令

docker run -dit --name ubuntu22.04-vpp-weiy --privileged=true -v /lib/modules:/lib/modules -p 8088:8080 ubuntu:22.04 /bin/bash

docker run -dit --name ubuntu22.04-vpp --privileged=true -v /sys/bus/pci/drivers:/sys/bus/pci/drivers -v /sys/kernel/mm/hugepages:/sys/kernel/mm/hugepages -v /sys/devices/system/node:/sys/devices/system/node -v /dev:/dev -p 8088:8080 ubuntu:22.04 /bin/bash

docker ps

docker exec -it ubuntu22.04-vpp /bin/bash

*/

13.docker下ubuntu22.04环境下安装基本tool和lib

//添加root用户,并设置密码,用于ssh登录使用

passwd root

//更新apt list并升级

apt update

apt upgrade

//安装基本tool和lib

apt install sudo vim git openssh-server net-tools build-essential cmake meson python3-pyelftools lshw pciutils lsb-release iproute2

lsb_release -a

dpdk docker的lspci错误_lspci: unable to load libkmod resources: error -12-CSDN博客

14. 在docker下的ubuntu22.04-vpp容器下编译安装vpp

cd /root
mkdir Downloads
mkdir work
cd work

//如果git clone失败,多尝试几次
git clone https://github.com/FDio/vpp.git

//编译vpp(如果失败,多尝试几次)

cd vpp

make install-dep

make install-ext-deps

make build

make pkg-deb

//安装vpp

dpkg -i build-root/*.deb

15. dpdk&kmods

cd build/external/downloads/

tar -xvf dpdk-24.03.tar.xz

cd dpdk-24.03

meson setup build

ninja -C build

meson configure -Dexamples=all build

ninja -C build

usertools/dpdk-devbind.py -s

//igb_uio

apt install linux-headers-$(uname -r)

apt install linux-modules-extra-$(uname -r)

apt install iproute2

git clone git://dpdk.org/dpdk-kmods

cd dpdk-kmods/linux/igb_uio/

make

//安装igb_uio

modprobe uio

insmod igb_uio.ko 

lsmod | grep uio

//保留巨页内存

mkdir -p /dev/hugepages

mountpoint -q /dev/hugepages || mount -t hugetlbfs nodev /dev/hugepages

echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

16. run vpp

vpp -c /etc/vpp/startup.conf &

vppctl

17. dpdk

cd build/external/downloads/

tar -xvf dpdk-24.03.tar.xz

cd dpdk-24.03

meson setup build

ninja -C build

meson configure -Dexamples=all build

ninja -C build

usertools/dpdk-devbind.py -s

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/361110.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Chapter7】虚拟存储系统,计算机操作系统教程,第四版,左万利,王英

文章目录 [toc]零、前言一、外存资源管理1.1 外存空间划分1.2 外存空间分配1.2.1 空闲块链(慢)1.2.2 空闲块表(UNIX)1.2.3 字位映像图 1.3 进程与外存对应关系 二、虚拟页式存储系统2.1 基本原理2.2 内存页框分配策略2.3 外存块的分配策略2.4 页面调入时机2.5 置换算法2.5.1 最…

探索AI世界系列:俗说AI智能体

AI agent&#xff0c;翻译为中文就是AI智能体。 什么是AI智能体呢&#xff1f; 一&#xff0c;GPT对AI智能体的定义 AI智能体&#xff0c;即人工智能体&#xff08;Artificial Intelligence Agent&#xff09;&#xff0c;是具有自主性、学习能力和推理能力的计算机程序。 …

手把手教你使用kimi创建流程图【实践篇】

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 引言 在昨日的文章中&#xff0c;我们介绍了如何使用Kimi生成论文中的流程图。今天&#xff0c;我们将更进一步&#xff0c;通过实践案例来展示Kimi在生成流程图方面的应用。这不仅将加…

基于 JuiceFS 构建高校 AI 存储方案:高并发、系统稳定、运维简单

中山大学的 iSEE 实验室&#xff08;Intelligence Science and System) Lab&#xff09;在进行深度学习任务时&#xff0c;需要处理大量小文件读取。在高并发读写场景下&#xff0c;原先使用的 NFS 性能较低&#xff0c;常在高峰期导致数据节点卡死。此外&#xff0c;NFS 系统的…

[SAP ABAP] 汇总内表数据

在加入新数据记录时&#xff0c;将非数值字段具有相同内容记录的数值字段汇总 语法格式 COLLECT <wa> INTO <itab>. <wa>&#xff1a;代表工作区 <itab>&#xff1a;代表内表 示例1 结果显示&#xff1a;

django restframework 多对多模型 —— python

模型 图书和作者是多对多关系 class Book(models.Model):book_namemodels.CharField(max_length40)pricemodels.DecimalField(max_digits4,decimal_places2)publishmodels.ForeignKey(to"Publish",on_deletemodels.CASCADE,related_name"publish")authorm…

ModuleNotFoundError: No module named ‘gdal‘

第一步检查gdal包是否正确安装&#xff1a; conda list 已经安装显示如下 若查找不到&#xff1a;请按照此说明步骤进行安装&#xff1a;ModuleNotFoundError: No module named ‘osgeo‘_modulenotfounderror: no module named osgeo-CSDN博客 第二步&#xff1a;检查是否可以…

VSCode运行前端项目-页面404

背景&#xff1a; 通过VSCode运行前端本地项目&#xff0c;运行成功后打开本地链接&#xff1a;http://1x.xxx.x.xxx:9803/ &#xff0c;发现打开的页面重定向到404&#xff1a;http//1xx.xxx.x.xxx:9803/404&#xff1b; 并且控制台出现&#xff1a;Failed to load resource: …

C语言 | 文件操作(下)【必收藏】

文件操作&#xff08;下&#xff09; 5、文件的顺序读写5.1 顺序读写函数介绍5.1.1 fputc与fgetc5.1.2 fputs与fgets5.1.3 fprintf与fscanf5.1.4 fread与fwrite 5.2 对比一组函数 6. 文件的随机读写6.1 fseek6.2 ftell6.3 rewind 7. 文件读取结束的判定7.1 被错误使用的feof 8.…

Redis 备份恢复以及数据迁移

昨晚老板突然在群里发了一张图片&#xff0c;说昨天才用的&#xff0c;怎么今天还要登录&#xff1f;相关人赶紧看看。 我心想让你登录就登录呗&#xff0c;哪来那么多事&#xff1f;本想洗洗睡了。老大突然微信问我说&#xff0c;是不是 Redis 出问题了&#xff1f;怎么用户…

筑梦未来:高考后,专业与学校的天秤两端

前言 2024 年高考落幕&#xff0c;几人欢喜几人愁&#xff0c;作为一个过来人&#xff0c;希望每一个努力的悻悻学子都能得偿所愿&#xff0c;不负年华&#xff0c;报的心仪的志愿。 接下来我将从三个方向进行一些分析建议&#xff0c;在专业与大学排名间做出适当的权衡。 专…

智能语音抽油烟机:置入WTK6900L离线语音识别芯片 掌控厨房新风尚

一、抽油烟机语音识别芯片开发背景 在繁忙的现代生活中&#xff0c;人们对于家居生活的便捷性和舒适性要求越来越高。传统的抽油烟机操作方式往往需要用户手动调节风速、开关等功能&#xff0c;不仅操作繁琐&#xff0c;而且在烹饪过程中容易分散注意力&#xff0c;增加安全隐…

【深度学习】基于因果表示学习的CITRIS模型原理和实验

1.引言 1.1.本文的主要内容 理解动态系统中的潜在因果因素&#xff0c;对于智能代理在复杂环境中进行有效推理至关重要。本文将深入介绍CITRIS&#xff0c;这是一种基于变分自编码器&#xff08;VAE&#xff09;的框架&#xff0c;它能够从时间序列图像中提取并学习因果表示&…

Kafka入门-基础概念及参数

一、Kafka术语 Kafka属于分布式的消息引擎系统&#xff0c;它的主要功能是提供一套完备的消息发布与订阅解决方案。可以为每个业务、每个应用甚至是每类数据都创建专属的主题。 Kafka的服务器端由被称为Broker的服务进程构成&#xff0c;即一个Kafka集群由多个Broker组成&#…

薄冰英语语法学习--名词2-格

名词后面 s&#xff0c;代表后面这个东西属于前面的。 比如toms book&#xff0c;汤姆的书。 末尾是s&#xff0c;那么直接在最后加就行了。比如boys&#xff0c;男孩们的 表示几个词共同 的所有关系在最后一个词的词尾加 sMary and Toms books 玛丽和汤姆共有的书表示几个词…

Android简介-历史、API等级与体系结构

1. Android简介 Android是一种基于Linux内核的自由及开放源代码的操作系统。最初是由安迪鲁宾(Andy Rubin)开发的一款相机操作系统。2005年8月被Google收购。2007年11月&#xff0c;Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。…

TCP: 传输控制协议

TCP: 传输控制协议 TCP的服务TCP 的首部小结 本系列文章旨在巩固网络编程理论知识&#xff0c;后续将结合实际开展深入理解的文章。 TCP的服务 T C P和U D P都使用相同的网络层&#xff08;I P&#xff09;&#xff0c;T C P却向应用层提供与U D P完全不同的服务。 T C P提供一…

51单片机STC89C52RC——8.2 8*8 LED点阵模块(动态图像)

目的/效果 在《51单片机STC89C52RC——8.1 8*8 LED点阵模块&#xff08;点亮一个LED&#xff09;》我们点亮一个LED&#xff0c;接下来我们将在8*8的矩阵中展示动态的图像。 1&#xff1a;单列展示&#xff1a; 2&#xff1a;单行展示 3&#xff1a;笑脸 4&#xff1a;右移…

JavaScript的学习之文档的加载

目录 一、onload的运用 浏览器在加载一个页面时&#xff0c;是按照自上而下的顺序加载的&#xff0c;读取到一行就执行一行&#xff0c; 如果script标签写到页面的上方&#xff0c;在代码执行时&#xff0c;页面还没有加载&#xff0c;所以要将JS代码写道页面下面 一、onload的…

Python使用attr库打造数据类,你还在手写构造函数吗?

1、attr库基础介绍 🛠️ 1.1 attr安装与导入 在Python中,attr库是一个简化创建数据类的工具 ,它通过简洁的语法自动添加属性和方法 ,如getter、setter等。要开始使用attr,首先需要通过pip安装这个库。打开终端或命令提示符,运行以下命令进行安装: pip install attrs…