- Imagen: Una imagen es un conjunto de capas que puede ver un usuario final
- Contenedor: Es un grupo de procesos que se ejecutan completamente aislados del resto (no pueden ver el resto de procesos ni otros procesos pueden verlos a ellos). Los procesos hijos que puedan derivar los procesos aislados, también están aislados. Se confunde con virtualización pero no lo es. Además de esos procesos un contenedor tiene una serie de capas extraídas de una imagen. Los cambios que se hagan en un contenedor se guardan en una nueva capa, por lo que no se afecta el contenedor original. Además, para cada contenedor se crea una propia tarjeta de red virtual. El kernel de la máquina que ejecuta un contenedor tiene que ser el mismo que el de la máquina host, pero los SO de unos y otros pueden ser distintos. Mientras el kernel sea el mismo podemos tener un ubuntu en el host y un red hat en el contenedor, por ejemplo
- Máquinas:
--- Host: Es la máquina que contiene el sistema operativo que ejecuta los contenedores
--- Docker-machine: Es una máquina virtual muy pequeña, de unos 24MB, que ya tiene docker instalado. Es algo que ofrece Docker porque en Windows, aún no es posible instalarlo nativamente. En windows 2016 ya lo será pero de momento no.
- Registros:
--- Docker hub: Es una base de datos de imágenes. Se pueden poner públicas o privadas.
--- CoreOS Registry: Es una alternativa a docker hub