Containers provide a lightweight way to take application workloads portable, like a virtual machine but without the overhead and bulk typically associated with VMs. With containers, apps and services can be packaged up and moved freely between physical, virtual, or cloud environments.

Docker, a container creation and management system created by Docker, Inc., takes the native container functionality found in Linux and makes it available to end-users through a command-line interface and a set of APIs.

Many common application components are now available as prepackaged Docker containers, making it easy to deploy stacks of software as decoupled components (the “microservices” model). That said, it helps to know how the pieces fit together from the inside out.

Thus, in this guide, we’ll install the Apache web server in a Docker container and investigate how Docker operates along the way.