Docker is an operating system-level virtualization platform that allows devops and system admins to build, package, distribute and run applications within lightweight container abstraction. Docker relies on libcontainer interfaces to leverage Linux kernel's virtualization primitives such as namespaces and control groups. Each Docker container comes with its own process trees, root filesystem, and separate namespaces for networking and users via Linux kernel namespaces. Each container also achieves resource (CPU/memory) isolation via kernel cgroups. Docker container images are distributed in layered fashions via union file systems (e.g., aufs) from the public Docker registry server. Docker has been integrated into a number of infrastructure management platforms such as
OpenStack, Puppet, Chef, Salt, as well as adopted by commercial cloud operators such as Amazon AWS, Google Cloud platform and Microsoft Azure.
This page presents useful Docker container tutorials that teach you how to deploy Docker containers on various Linux distributions such as Ubuntu, CentOS and Fedora, how to set up internetworking among Docker containers, and how to upgrade existing Docker installations.