A Docker image is an executable package that includes everything needed to run an application. NSX Advanced Load Balancer for Linux server cloud is distributed as a Docker image. Therefore, having Docker installed is mandatory for Linux server cloud deployments. If deploying onto multiple hosts, repeat the applicable installation procedure on each host.

To ensure proper Controller core dumps in a container environment (running either host or bridge mode), take care that the dump path is properly set. If not, the core will not get generated. The core-pattern on the container’s host machine must be initialized prior to bringing up the Controller. The recommendation is to set it to /var/crash/core_dump-%E-%p-%t, where:

  • %E = pathname of executable with slashes(‘/’) replaced by exclamation marks (‘!’)

  • %p = PID of dumped process, as seen in the PID namespace in which the process resides

  • %t = time of dump, expressed as seconds since the Epoch, 1970-01-01 00:00:00 + 0000 (UTC)

Docker Editions

The following are the Docker editions:

  • Community Edition (CE) – This edition is suitable for individual developers and small teams exploring container-based applications.

  • Docker Enterprise Edition (EE) – This edition is suitable for enterprise development and IT teams who build, ship, and run critical business-critical applications in production at scale. The following are the different types of Docker Enterprise Edition:

      • Enterprise Edition Basic

      • Enterprise Edition Standard

      • Enterprise Edition Advanced

To understand which edition of Docker is applicable to you, see Overview of Docker Editions.

Installing Docker EE

This section explains the installation process of Docker EE for Ubuntu, RHEL, CentOS, and Oracle Linux. It is recommended to ensure the respective prerequisites are met before installing Docker EE.

Red Hat Packet Manager (RPM)-based distributions such as RHEL, use a tool called YUM that work with your repositories to manage dependencies and provide automatic updates.

Selecting a Storage Driver for a Docker

Docker supports several storage drivers using a pluggable architecture. The storage driver controls how images and containers are stored and managed on your Docker host. Docker advises a storage driver for production environments and documents their operation and merits in the Storage Drivers link.

For detailed information, see Supported Storage Drivers per Linux Distribution.

Device Mapper

Device Mapper is a kernel-based framework that underpins many advanced volume management technologies on Linux. A devicemapper storage driver is mandatory if you use Docker EE on RHEL, CentOS, or Oracle Linux. It is also supported on Docker CE running on CentOS, Fedora, Ubuntu, or Debian. Docker recommends that a device mapper be configured in direct-lvm-mode for production.

For detailed information, see Device Mapper Driver.

AUFS Overlay

For Docker CE, AUFS is supported on Ubuntu, and it is a default storage driver for Ubuntu. If your Linux kernel is version 4.7 or higher, and you use Docker CE, you need to use overlay2.

AUFS cannot use aufs, btrfs, or ecryptfs as a backing filesystems. This means that the filesystem which contains /var/lib/docker/aufs cannot be one of these file system types.

devicemapper is not recommended for Ubuntu. You can use overlay2, if supported or AUFS.

For detailed information on AUFS Overlay, see:

Verifying Docker Installation and Version

Specify the docker versioncommand to confirm the appropriate version is installed and running, for instance, if the version is 1.8.1, the following is the CLI command to be used:

docker version
Version: 1.8.1
API version: 1.20
Go version: go1.4.2
Git commit: d12ea79
Built: Thu Aug 13 02:35:49 UTC 2015
OS/Arch: linux/amd64
Version: 1.8.1
API version: 1.20
Go version: go1.4.2
Git commit: d12ea79
Built: Thu Aug 13 02:35:49 UTC 2015
OS/Arch: linux/amd64

Docker local storage can be given at docker daemon start. If you do not specify storage at docker daemon start, docker picks up the default local storage based on underlying storage driver. For devicemapper - /var/lib/docker..etc., NSX Advanced Load Balancer adds the requirement of 18 GB for running NSX Advanced Load Balancer containers.