¿Qué es Docker?

Docker son entornos virtuales. Es algo similar a VirtualBox, pero con otro concepto.

Si en VirtualBox se virtualiza sistemas completos con Docker se virtualizan servicios, tales como PHP, Apache, MariaDB, etc...

Por ejemplo si necesitamos un entorno par desarrollar una aplicación PHP, se levantan 3 contenedores Docker:

  • Uno con PHP + Apache.

  • Otro con Una base de datos por ejemplo MariaDB

  • Y un tercero con PhpMyAdmin, por si necesitamos gestionar la Base de datos.

Al tener en contenedores separados es muy fácil cambiar de versión por ejemplo de PHP o bien de Base de datos. Sin necesidad de modificar los otros contenedores.

Por lo tanto con Docker levantamos los servicios que necesitamos para trabajar.

¿Qué diferencia hay con instalarse, por ejemplo el PHP en nuestra máquina?

Pues precisamente esa, que no necesitamos instalar ningún PHP. Levantaremos contenedores con el PHP que necesitamos en cada momento. De esta forma crearemos un entorno igual para todos los desarrolladores. Todos tendrán la misma versión de y de Base de datos. Además de que podrán correr en cualquier sistema operativo, Mac, Linux o Windows.

Los contenedores quedan aislados y no dependen del sistema operativo.