- 引入原因
由于咱们目前测试运行环境以及目前个人虚机测试环境基本为centos,实际情况下为了验证咱们TGW/VPNGW/POP等网元基于ctyunos功能,没有办法快速申请到一个ctyunos的环境,如果采用虚机安装ctyunos环境的方式还得重装系统,浪费时间,且不高效,所以采用在容器中部署TGW/VPNGW/POP等网元,用来快速调试整体功能。
- 容器启动方法
docker run -d --name pop_ctyunos -it --privileged=true -v /var/vpp/pop:/pop -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 localhost/egw_2.0.0_ctyunos:v1.1 /usr/sbin/init
参数说明
name:容器名称
privileged:应用容器 获取宿主机root权限(特殊权限)
/var/vpp/pop:/pop : 将宿主机上的存放tar包的目录映射进容器/pop目录
/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
上述sys dev系列参数是为了接管物理网卡将相关目录映射进入容器
localhost/egw_2.0.0_ctyunos:v1.1 容器镜像名称
/usr/sbin/init : 作为容器的1号进程运行,主要是用作systemctl管理咱们的进程
- 进入容器调试相关功能
进入容器: docker exec -it pop_ctyunos /bin/bash
在容器中 systemctl start vpp即可,然后gdb vpp进程,可以接管intel物理网卡,相关操作如物理机一样