- The docker run command will create a container named onload. The container is
created from the centos:latest base image and a bash shell terminal will be started in the
container.
If MACVLAN driver support and namespace support are required, refer to MACVLAN Support below before creating the container.
# docker run \ --net=host \ --device=/dev/onload \ --device=/dev/onload_epoll \ --name=onload \ -it \ -v /src/onload-201502.tgz:/tmp/onload-201502.tgz \ centos:latest \ /bin/bashThe example above copies the onload-201502.tgz file from the /src directory on the host and placed this file into /tmp in the container root file system. All subsequent commands are run inside the container unless host is specified.
Note: The directive--device=/dev/sfc_charis required when used with ef_vi. - Install required OS tools/packages in the
container:
# yum install perl autoconf automake libtool tar gcc make net-tools ethtoolDifferent docker base images might require additional OS packages installed.
- Unpack the tarball to build the onload-<version>
sub-directory:
# /usr/bin/tar -zxvf /tmp/onload-201502.tgzNote: It is not possible to use tools/utilities (such as tar) from the host file system on files in the container file system. - Change directory to the onload-<version>/scripts
directory:
# cd /tmp/onload-201502/scripts - Build the Onload
user-level components in the container:
# ./onload_build --userIf the build process identifies any missing dependencies, return to step 2 to install missing components.
- Install the Onload
user-level components in the container:
# ./onload_install --userfiles --nobuildThe following warning might appear at the end of the install process, but it is not necessary to reload the drivers:
onload_install: To load the newly installed drivers run: onload_tool reload - Check Onload
installation:
# onload OpenOnload 201502 Copyright 2006-2012 Solarflare Communications, 2002-2005 Level 5 Networks Built: Feb 5 2015 12:41:04 (release) Kernel module: 201502 usage: onload [options] <command> <command-args> options: --profile=<profile> -- comma sep list of config profile(s) --force-profiles -- profile settings override environment --no-app-handler -- do not use app-specific settings --app=<app-name> -- identify application to run under onload --version -- print version information -v -- verbose -h --help -- this help message - On the host, check that the container has been created and is running:
# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e2a12a635359 centos:latest "/bin/bash" 15 seconds ago Up 14 seconds onload - Configure network interfaces.
Configure network adapter interfaces in the host. Interfaces will also be visible and usable from the container:
# ifconfig -a - Onload is now installed and ready to use in the container.