En proceso de aprendizaje, me encontrado con el docker, y me gustaría explicar esto aquí en pocas palabras para memorizar eso y para que alguen lo puede entender sin esforzar mucho.

Docker esta basado en una seria de contenedores virtuales que contiene solo acceso a su información pero están conectado entre ellos en una red virtual.

Porque ha aparecido Docker? Que ventajas tiene?

Linux permite tener contenedores virtuales, docker usa esta ventaja para crear un sistema que contiene la misma estructura en la maquina de desarrollo (su pc o portátil) para garantizar que su aplicación (o pagina web etc) funciona de misma manera.

La mayor ventaja es poder de escalar cada contenedor (image) virtual! Por ejemplo si es necesario tener unas instancias de php o mysql por separado en algun sistema de alta carga (hightload) pdra ser necesario multiplicar los, con un balanceador etc sera muy util de usar un contenedor preparado.

Otra ventaja, ahorro en tiempo de configurar el entorno para desarrollo.