El uso de contenedores es una forma de implementar el código de la aplicación de manera que se ejecute en cualquier entorno físico o virtual sin necesidad de hacer cambios. Los desarrolladores empaquetan el código de la aplicación con las bibliotecas relacionadas, los archivos de configuración y otras dependencias que el código necesita para ejecutarse. Este paquete único de software, llamado contenedor, se puede ejecutar de forma independiente en cualquier plataforma. El uso de contenedores es un tipo de virtualización de aplicaciones.
Puede concebir la virtualización de servidores como la construcción de una carretera para conectar dos lugares. Hay que recrear un entorno virtual completo y luego ejecutar la aplicación en este. A modo de comparación, el uso de contenedores es como construir un helicóptero que pueda volar a cualquiera de esos lugares. La aplicación se encuentra dentro de un contenedor y se puede ejecutar en todo tipo de entornos físicos o virtuales.