All Projects → ligato → vpp-base

ligato / vpp-base

Licence: other
🐳 Docker images ready for running, building and testing VPP.

Programming Languages

shell
77523 projects
Dockerfile
14818 projects
Makefile
30231 projects

Projects that are alternatives of or similar to vpp-base

docker-jenkins-jnlp-slave-windows
Jenkins JNLP Slaves as Windows Container
Stars: ✭ 26 (+73.33%)
Mutual labels:  base-image
TNSR IDS
IDS using a port mirror, Snort and an alert -> RESTCONF utility
Stars: ✭ 30 (+100%)
Mutual labels:  vpp
dpdk engineer manual
【冲破内核瓶颈,让I/O性能飙升】DPDK工程师手册,官方文档,最新视频,开源项目,实战案例,论文,大厂内部ppt,知名工程师一览表
Stars: ✭ 535 (+3466.67%)
Mutual labels:  vpp
govpp
Go toolset for the VPP.
Stars: ✭ 119 (+693.33%)
Mutual labels:  vpp
docker-ubuntu
My Ubuntu boilerplate image that forms the base for my docker containers.
Stars: ✭ 33 (+120%)
Mutual labels:  base-image
Minideb
A small image based on Debian designed for use in containers
Stars: ✭ 1,561 (+10306.67%)
Mutual labels:  base-image
docker-php-yii2
🐳 💿 Docker PHP image containing extensions and libraries for Yii 2.0 Framework
Stars: ✭ 94 (+526.67%)
Mutual labels:  base-image

vpp-base

Workflow Latest Version Docker Pulls

The vpp-base builds docker images for VPP.


Table of contents:

Available Versions

List of currently availables versions that are being maintained:

Image Tag Packagecloud Repo Version Details
master master version size
latest release version size
22.02 2202 version size
21.10 2110 version size
21.06 2106 version size
21.01 2001 version size

The complete list of available image tags can be found on DockerHub.

Intro

The purpose of vpp-base is to provide tools for building docker images with any version of VPP.

Use cases:

  • Use as a base image in your Dockerfiles
  • Quickly test something specific VPP version
  • Build docker image for custom VPP builds
  • Generate VPP binary API bindings
  • Distribute Debian packages for VPP

The project was created because there are no official docker images provided by the FD.io community.

Quickstart

Use latest release of VPP

# Pull the image
➢ docker pull ligato/vpp-base

# Print the VPP version
➢ docker run --rm ligato/vpp-base cat /vpp/version
20.05-release

Use development version of VPP

# Pull the image
➢ docker pull ligato/vpp-base:master

# Print the VPP version
➢ docker run --rm ligato/vpp-base:master cat /vpp/version
20.09-rc0~157-g8eca60df7~b1410

Build Image

Build with official VPP version

To build vpp-base image you can simply use docker build command (no need to clone this repository at all):

# Build with latest VPP release
➢ docker build github.com/ligato/vpp-base

# Build with stable VPP 20.05
➢ docker build --build-arg REPO='2005' github.com/ligato/vpp-base

# Build with exact VPP version
➢ docker build --build-arg REPO='master' --build-arg VPP_VERSION='20.09-rc0~174-gbfeae8c57' github.com/ligato/vpp-base

# Build with specific VPP commit
➢ docker build --build-arg REPO='master' --build-arg VPP_VERSION='20.09-rc0~[^ ]*-g<commit>' github.com/ligato/vpp-base

Build with custom VPP version

To build vpp-base with custom VPP you can use the custom which installs from local debian packages by adding .deb packages from custom directory and installing them.

# build VPP
(
  cd vpp
  make install-dep install-ext-deps
  make pkg-deb
)

# copy debian packages from build-root
cp ./vpp/build-root/*.deb ./custom/

# build custom vpp-base image
docker build --tag vpp-base:custom ./custom

NOTE: You can put VPP repo into vpp directory at the root of this repo and it will be ignored by git.

Images

The vpp-base images are built continuously by GitHub workflow and published to DockerHub repository ligato/vpp-base.

Image Contents

The vpp-base image contains the following pieces:

  • Installed VPP ready for use with default config - /etc/vpp/startup.conf
  • Download script for getting VPP packages - /get-vpp.sh
  • Debian packages that come with VPP - /vpp/*.deb
  • Version file that contains VPP version - /vpp/version
# List files in /vpp/ directory
➤ docker run --rm ligato/vpp-base:latest ls -Sgh
total 11M
-rw-r--r-- 1 root 3.4M Jan 29 23:02 vpp_20.01-release_amd64.deb
-rw-r--r-- 1 root 3.1M Jan 29 23:02 vpp-plugin-dpdk_20.01-release_amd64.deb
-rw-r--r-- 1 root 3.0M Jan 29 23:02 vpp-plugin-core_20.01-release_amd64.deb
-rw-r--r-- 1 root 941K Jan 29 23:02 vpp-dev_20.01-release_amd64.deb
-rw-r--r-- 1 root 166K Jan 29 23:02 libvppinfra_20.01-release_amd64.deb
-rw-r--r-- 1 root 132K Jan 29 23:02 libvppinfra-dev_20.01-release_amd64.deb
-rw-r--r-- 1 root  24K Jan 29 23:02 python3-vpp-api_20.01-release_amd64.deb
-rw-r--r-- 1 root  24K Jan 29 23:02 vpp-api-python_20.01-release_amd64.deb
-rw-r--r-- 1 root   14 Feb  7 10:14 version

# Print installed VPP packages
➤ docker run --rm -i ligato/vpp-base dpkg-query -W '*vpp*'
libvppinfra	20.01-release
libvppinfra-dev	20.01-release
python3-vpp-api	20.01-release
vpp	20.01-release
vpp-api-python	20.01-release
vpp-dbg	20.01-release
vpp-dev	20.01-release
vpp-plugin-core	20.01-release
vpp-plugin-dpdk	20.01-release

Tag Format

Tags are derived from particular VPP version installed in the image. However they are some differences between image tag and particular VPP version:

  • character ~ is replaced with dot . (not allowed in docker image tags)
  • build number suffix (~bXXXX) is omitted in tags

Periodically updated images have fixed tags:

  • ligato/vpp-base:latest - latest official release
  • ligato/vpp-base:master - latest development version
  • ligato/vpp-base:YY.MM - latest stable versions

All the published images are also tagged using their particular version:

  • ligato/vpp-base:YY.MM-release - official releases
  • ligato/vpp-base:YY.MM-rc0.N-gabcdefg - development versions
  • ligato/vpp-base:YY.MM-rcX.N-gabcdefg - release canditate versions
  • ligato/vpp-base:YY.MM.X-N.gd28bac409 - stable versions
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].