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容器,并映射端口,用于host ssh到docker里面(其他sshd的配置参见:使用SSH远程直连Docker容器_docker ssh-CSDN博客),--privileged=true(docker run:--privileged=true选项解析(特权模式:赋予容器几乎与主机相同的权限)-CSDN博客)
docker run -dit --name ubuntu22.04-vpp --privileged=true  -p 8088:8080 ubuntu:22.04 /bin/bash

//启动容器

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并升级

lsb_release -a

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

算法训练营day20--235. 二叉搜索树的最近公共祖先+701.二叉搜索树中的插入操作 +450.删除二叉搜索树中的节点

一、235. 二叉搜索树的最近公共祖先 题目链接&#xff1a;https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/ 文章讲解&#xff1a;https://programmercarl.com/0235.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%80%E8%BF%91…

基于改进YOLOv5的安全帽检测算法 | 引入Ghost卷积 + 添加CA注意力机制 + 更换Neck网络之BiFPN + 更换损失函数之WIoU

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。为了解决建筑工地、隧道、煤矿等施工场景中现有安全帽检测算法对于小目标、密集目标以及复杂环境下的检测精度低的问题&#xff0c;设计实现了一种基于YOLOv5的改进目标检测算法&#xff0c;记为YOLOv5-GBCW。首先使用Ghos…

Webpack: 如何借助预处理器、PostCSS 等构建现代 CSS 工程环境

概述 在开发 Web 应用时&#xff0c;我们通常需要编写大量 JavaScript 代码 —— 用于控制页面逻辑&#xff1b;编写大量 CSS 代码 —— 用于调整页面呈现形式。问题在于&#xff0c;CSS 语言在过去若干年中一直在追求样式表现力方面的提升&#xff0c;工程化能力薄弱&#xff…

MySQL中的Bin-log是什么?有什么作用?

Bin-log日志也被称之为二进制日志&#xff0c;作用与Redo-log类似&#xff0c;主要是记录所有对数据库表结构变更和表数据修改的操作&#xff0c;对于select、show这类读操作并不会记录。bin-log是MySQL-Server级别的日志&#xff0c;所有引擎都能用的日志&#xff0c;而redo-l…

线程安全问题(一)——锁的简单使用

多线程安全问题 线程安全问题的引入案例引入多线程指令排序问题 线程不安全的原因解决线程不安全的方法锁的引入上锁和解锁过程一个简单的锁Demo对这个案例进行几次修改 总结 线程安全问题的引入 在前面的博文中&#xff0c;我们了解到通过Thread.join()的方法让线程进入等待&…

达梦(DM8)数据库备份与还原(逻辑备份)二

一、达梦数据库的逻辑备份分四种级别的导出&#xff08;dexp&#xff09;与导入&#xff08;dimp&#xff09;的备份 第一种是&#xff1a;数据库级&#xff1a;导出或导入数据库中所有的对象。主要参数是&#xff1a;FULL 第二种是&#xff1a;用户级别&#xff1a;导出或导…

Linux系统中根下的目录结构介绍

一、Linux的路径分隔符 Linux系统中使用正斜杠(/)作为路径分隔符&#xff1b;每个目录的后面都默认带有一个正斜杠&#xff08;如&#xff1a;需要进入opt目录可以分别使用【cd /opt】或【cd /opt/】&#xff09; 二、Linux根目录下各个目录结构介绍 红色标识的文件夹为Linux的…

01数字电子技术基础

第一节课&#xff1a;introduction 导论 决定了这门课的学习方法、学习内容、一个大概的把握、虽不是具体的技术&#xff0c;不是细节&#xff0c;但是这是一节思想 每门课都重要&#xff0c;但侧重点不同。 学习前人的思想和营养&#xff0c;为自己所用。 1.课程性质&#x…

基于javassm实现的大学图书管理系统网站

开发语言&#xff1a;Java 框架&#xff1a;ssm 操作系统&#xff1a;Windows 7&#xff1b; 数据库&#xff1a;Mysql&#xff1b; 开发工具包&#xff1a;JDK Version1.6&#xff1b; JSP服务器&#xff1a;Tomcat&#xff1b; 浏览器&#xff1a;IE8.0&#xff0c;推荐…

使用Python和NLTK进行NLP分析的高级指南

在本文中&#xff0c;将利用数据集来比较和分析自然语言。 本文涵盖的基本构建块是&#xff1a; WordNet和同义词集相似度比较树和树岸命名实体识别 WordNet和同义词集 WordNet是NLTK中的大型词汇数据库语料库。WordNet维护与名词&#xff0c;动词&#xff0c;形容词&#…

关于ip地址的网页无法访问navigator的gpu、媒体、蓝牙等设备的解决方法

在使用threejs的WebGPURenderer渲染器时&#xff0c;发现localhost以及127.0.0.1才能访问到navigator.gpu&#xff0c;直接使用ip会变成undefined,原因是为了用户的隐私安全&#xff0c;只能在安全的上下文中使用&#xff0c;非安全的上下文就会是undefined&#xff0c;安全上下…

[面试题]Zookeeper

[面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL[面试题]Maven[面试题]Spring Boot[面试题]Spring Cloud[面试题]Spring MVC[面试题]Spring[面试题]MyBatis[面试题]Nginx[面试题]缓存[面试题]Redis[面试题]消息队列[面试题]…

第4章 客户端-客户端通信协议

Redis是用单线程来处理多个客户端的访问&#xff0c;因此作为Redis的开发和运维人员需要了解Redis服务端和客户端的通信协议&#xff0c;以及主流编程语言的Redis客户端使用方法&#xff0c;同时还需要了解客户端管理的相应API以及开发运维中可能遇到的问题。 几乎所有的主流编…

网络协议TCP/IP, HTTP/HTTPS介绍

TCP/IP协议 TCP/IP是一种基于连接的通信协议&#xff0c;它是互联网的基础协议。TCP代表传输控制协议&#xff0c;IP代表Internet协议。虽然这两个协议通常一起提及&#xff0c;但它们实际上是分开的&#xff1a;IP负责在网络中从一台计算机向另一台计算机发送数据包&#xff0…

【干货】Jupyter Lab操作文档

Jupyter Lab操作文档1. 使用须知2. 定制化Jupyter设置主题显示代码行数设置语言更多设置 3. 认识Jupyter界面4. 初用Jupyter运行调试格式化查看源码 5. 使用Jupyter Terminal6. 使用Jupyter Markdown7. 上传下载文件&#xff08;云服务器中的Jupyter Lab&#xff09;上传文件到…

【操作系统】信号处理与阻塞函数|时序竞态问题

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 ​ 关于阻塞函数和…

Go 语言学习笔记之通道 Channel

Go 语言学习笔记之通道 Channel 大家好&#xff0c;我是码农先森。 概念 Go 语言中的通道&#xff08;channel&#xff09;是用来在 Go 协程之间传递数据的一种通信机制。 通道可以避免多个协程直接共享内存&#xff0c;避免数据竞争和锁的使用&#xff0c;从而简化了并发程…

Edge 浏览器退出后,后台占用问题

Edge 浏览器退出后&#xff0c;后台占用问题 环境 windows 11 Microsoft Edge版本 126.0.2592.68 (正式版本) (64 位)详情 在关闭Edge软件后&#xff0c;查看后台&#xff0c;还占用很多系统资源。实在不明白&#xff0c;关了浏览器还不能全关了&#xff0c;微软也学流氓了。…

T-Reqs:一款基于语法的HTTP漏洞挖掘工具

关于T-Reqs T-Reqs全称为Two Requests&#xff0c;T-Reqs是一款基于语法的HTTP模糊测试漏洞挖掘工具&#xff0c;该工具可以通过发送版本为1.1或更早版本的变异HTTP请求来对目标HTTP服务器进行模糊测试以及漏洞挖掘。该工具主要通过下列三大步骤实现其功能&#xff1a;&#x…

冶金工业5G智能工厂工业物联数字孪生平台,推进制造业数字化转型

冶金工业5G智能工厂工业物联数字孪生平台&#xff0c;推进制造业数字化转型。传统生产方式难以满足现代冶金工业的发展需求&#xff0c;数字化转型成为必然趋势。通过引入5G、工业物联网和数字孪生等先进技术&#xff0c;冶金工业可以实现生产过程智能化、高效化和绿色化&#…