- 引入原因
由于咱們目前測試運行環境以及目前個人虛機測試環境基本為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物理網卡,相關操作如物理機一樣