Adjust docker-compose.ymlĪdjust the environment variables IMAGE for vmx1 and vmx2 to match the qcow2 filename. No other file is required from the bundle, hence it is ok to remove the extracted files. Example shown for ubuntu 18.04, adjust accordingly: In order to build and launch the containers, the following packages must be installed. Getting Started Required compute host packages junos-vmx-x86-64-17.4R1.16.qcow2 image, extracted from the vmx-bundle-*tgz file available at or as an eval download from (registration required).Memory hugepages provisioned (1GB per vMX).Container requires privileged mode (to access hugepages, required by riot).CPU must be of family Ivy Bridge or newer (released 2013).Linux based compute node with a Linux kernel 4.4.0 and kvm hardware acceleration.Load custom YANG schema, deviation and action script at startup.
Serial console and RIOT messages are available in the container console via docker attach and via docker logs.Assigned IP address to container becomes the IP address of fxp0.Loading of optional Junos configuration file at startup.Auto-installation of provided license keys.This requires docker socket access from the container (provided via volume mount) The virtual network list is sorted by network name at runtime (to work around the unpredictable order with docker-compose).If no Junos configuration file is provided, the apply-group openjnpr-container-vmx is used.Management interface fxp0, root password and ssh public key for root and the user launching the container are learned at runtime and added to an Junos apply-group openjnpr-container-vmx.Virtual network names are learned at runtime from Docker (via socket) and used to provision the interface description via ephemeral DB.
vMX runs in light-mode (no SR-IOV support).Forwarding engine (riot) is downloaded from the VCP image at runtime and launched.vMX VCP (Junos control plane) runs on top of qemu within the container.Supports all Docker network plugins, including macvlan and overlays.Container waits for networking interfaces to be attached to container.