¿Que es docker?

¿Que es docker?

Desde hace tiempo venía escuchando de este tema de docker. En varios foros, grupos, etc… Pero fue hasta hace aproximadamente un mes que me vi en la obligación de usarlo en mi trabajo. Entonces ni modo, manos a la obra.

Comencé a leer la documentación de docker que la puedes encontrar acá https://docs.docker.com/. Y al comienzo se me hizo un poco extraño y confuso pero durante avanzaba leyendo la documentación me vine dando cuenta que en realidad es una herramienta, muy, muy, pero muy interesante.

Pero antes de todo ¿Que es Docker?

Es una plataforma que te permite implementar aplicaciones dentro de contenedores que se ejecutan especificamente con caracteristicas particulares.

Al comienzo ese concepto puede ser un tanto abrumador (a mi me pasó al comienzo), pero luego le tomaremos sabor y veras que es interesante.

Para entrar en materia, imagina que tienes una caja (que seria docker) y dentro tu guardas libros (que son aplicaciones) y que siempre, sea donde estes, donde lleves esta caja, la vas abrir y siempre tus libros los tendrás intacto y disponibles para ser leídos. Entonces, tomando ese concepto a términos especificos; con docker tu puedes guardar aplicaciones en el que sea el entorno que sea; tu computadora o la de un colega o un servidor, siempre funcionará igual porque en cada contenedor de docker tu instalas configuraciones que están aisladas solo para ese contenedor. Si, con los contenedores de docker se van las famosas excusas de “En mi computadora funcionaba”

Es importante que sepas que docker tomará algunos recursos de tu computadora para poder ejecutarse (eso es obvio), pero con esto me refiero a que docker tomará recursos necesarios para ejecutar su contenedor únicamente cuando lo estes utilizando.

Hagamos un ejemplo descriptivo

Algo fácil y que algunas veces es práctico. Supangamos que necesitamos hacer un sitio con WordPress donde necesitamos simular la ejecución que este tendrá en el servidor. Pues con docker perfectamente podemos hacer esto. Ya que bien podemos crear un contenedor donde encapsulemos todo lo necesario (aunque es recomendable separar mysql, nginx y proyecto). Donde este contenedor ejecutará PHP, Mysql y Nginx de manera aislada a tu ordenador, esto quiere decir que lo que sea que instales en ese contenedor se quedará ahí, en ese contenedor y no en tu ordenador.

Luego que tengas todo tu proyeto, tu perfectamente puedes compartir este contenedor o contenedores con tu colega y a el le funcionará perfectamente siempre y cuando tenga docker instalado tambien. Y el otro escenario, es el que mencionabamos al comienzo, y es el que cuando subas estos contenedores a un servidor, esto funcionará perfectamente y de la misma manera que se ejecuta en tu ordenador, lo cual es genial porque no tendrás que preocuparte si algo te funciona en local y que luego en producción de algun error por alguna dependencia o incoveniente que se presente.

Primeros pasos

Primero hay que instalar docker, y para esto tienes que descargarlo desde su página oficial https://www.docker.com/community-edition.

Una vez instalado docker, solamente compruebas en consola si docker se ha instalado correctamente ejecutando el comando: docker --version donde se te deberia retornar lo siguiente:

Si te aparece eso, entonces estas listo para comenzar a trabajar con docker. En esta ocasión llegaremos hasta aquí. En otro post vamos a ver como podemos crear contenedores y realizar instalaciones.

Nos vemos en la próxima.

Tambien te puede interesar