As network engineers we must keep up with the technologies and applications that will be leveraging the network. Server virtualization is quite common at this point, but many network engineers may be unfamiliar with the concept of containers.
While virtual machines require the installation of a full operating system and supporting libraries to run an application, containers virtualize the OS. The container only requires the installation of libraries and the application.
Docker is a popular container for deploying applications. There is a tutorial available that walks you through setting up a container and running an application within the container. It is a good experience for a network engineer to become familiar with the way developers could deploy an application with docker.
Networking in the container world is interesting. When a Docker container is created, Docker bridges the container’s NIC with the host’s NIC (by default). Leveraging iptables you can have the container accessible to the outside world.
See Docker’s advanced networking page for more details on the container’s network implementation.