Los contenedores hacen uso de las interfaces del kernel que permiten que varios contenedores compartan el mismo kernel mientras se ejecutan en total aislamiento uno del otro. Este aislamiento hace que la implementación de código de microservicio desarrollado usando diferentes lenguajes y frameworks sea muy fácil.
La portabilidad de los contenedores hace que la implementación de microservicios sea muy sencilla. Lanzar una nueva versión de un servicio es tan simple como detener el contenedor en ejecución e iniciar uno nuevo basado en una imagen de Docker utilizando la última versión del código de servicio. Todos los otros contenedores que se ejecutan en el host no se verán afectados por este cambio
Si un servicio determinado no utiliza todos los recursos (CPU, RAM) en un host, se pueden iniciar servicios adicionales en contenedores en ese servidor que hacen uso de los recursos inactivos, lo que ayuda con la utilización eficiente de los recursos en su plataforma