La idea detrás de Docker es crear contenedores ligeros y portables para las aplicaciones software que puedan ejecutarse en cualquier máquina con Docker instalado, independientemente del sistema operativo que la máquina tenga por debajo, facilitando así también los despliegues.
Un contenedor no es lo mismo que una máquina virtual. Un contenedor es más ligero, es simplemente un proceso que corre en la maquina host. Mientras que a una máquina virtual necesitas instalar un sistema operativo para funcionar, un contenedor de Docker funciona utilizando el sistema operativo que tiene la máquina en la que se ejecuta el contenedor. El concepto de portabilidad de un contenedor de Docker es algo similar a la máquina virtual de Java.
https://github.com/dcm4che/dcm4chee-arc-light/wiki/Running-on-Docker