Esto ayuda a permitir la flexibilidad y portabilidad en donde la aplicación se puede ejecutar, ya sea en las instalaciones físicas, la nube pública, nube privada, etc."[7] Docker implementa una API de alto nivel para proporcionar contenedores livianos que ejecutan procesos de manera aislada.
[8] Construido sobre las facilidades proporcionadas por el kernel Linux (principalmente cgroups y namespaces), un contenedor Docker, a diferencia de una máquina virtual, no requiere incluir un sistema operativo independiente.
[7] En su lugar, se basa en las funcionalidades del kernel y utiliza el aislamiento de recursos (CPU, la memoria, el bloque E / S, red, etc.) y namespaces separados para aislar la vista de una aplicación del sistema operativo.
[10][11] Docker se puede integrar con diferentes herramientas de infraestructura, como Amazon Web Services,[12] Ansible,[13] Cfengine,[14] Chef,[15] Google Cloud Platform,[16] DigitalOcean,[17] IBM Bluemix,[18] Jelastic,[19] Jenkins,[20] Microsoft Azure,[21] OpenStack Nova,[22] OpenSVC,[23] Puppet,[24] Salt,[25] y Vagrant.
[27] El proyecto GearD tiene como objetivo integrar Docker en el de Red Hat OpenShift Origin PaaS.