解决官方源无法下载的问题
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
sudo systemctl status docker
- sudo groupadd -f -r docker
- sudo usermod -aG docker ${USER}
- newgrp docker
- sudo groupadd -f -r vpp
- sudo usermod -aG vpp ${USER}
- newgrp vpp
国内从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
//搜索相关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
*/
//添加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博客
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
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
//如果上面install失败提示找不到包 linux-headers-$(uname -r) 或linux-modules-extra-$(uname -r)
可以
查看 ls -la /lib/modules 查看本机安装的版本,并修改dpdk-kmods/linux/igb_uio/目录里面的Makefile
chang
KSRC ?= /lib/modules/$(shell uname -r)/build
to
KSRC ?= /lib/modules/本机有的目录(查看 ls -la /lib/modules得到))/build
git clone git://dpdk.org/dpdk-kmods
cd dpdk-kmods/linux/igb_uio/
make
/for igb_uio也可以直接安装
sudo apt install dpdk-kmods-dkms
find /lib/modules/ -name "igb_uio*"
//安装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
vpp -c /etc/vpp/startup.conf &
vppctl
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