
Consultor BI
Cuando pensaba en aprender, experimentar o construir software, lo hacía sobre mi máquina. En la cual debía instalar todo lo que necesitaba para empezar a desarrollar y me tenía que pelear con las versiones, dependencias, entre otras que toman tiempo.
Luego me enfrenté al reto de compartir eso que había creado con amigos, algún equipo o profesor(a). Sin mencionar que debían instalar todo también y con las mismas especificaciones.
La mejor opción era que desde un inicio lo hicieras en una máquina virtual y pudieras compartirla con todo configurado. Para finalmente enfrentarse al hecho del tamaño que ocupaba. Espero que para este momento no tuviera que simular un cluster.
En la batalla final te encuentras tú, la aplicación y la(s) máquina(s) virtual(es), contra los recursos del computador donde se ejecuta al final. Y aun superando los problemas que ya tuvimos, nos desafiamos de nuevo a las dependencias, al S.O. y recursos del hardware.
Ese día en la clase, descubrí la herramienta que permite Construir, Distribuir y Ejecutar tu código en donde sea, de una manera fácil y de código abierto.
Esto quiere decir que con Docker, al momento de construir, puedes especificar el S.O. donde ejecutará, las dependencias y versiones de las aplicaciones que ocupará. Asegurando que siempre ejecutará en el ambiente que requiere.
Qué al momento de distribuir lo que construiste, con quien lo necesite, podrá hacerlo rápido, simple y sin preocuparse de pre-instalar, porque ya todo estará definido desde el momento en que empezaste a construir.
Cuando especificaste el ambiente que requieres, lo puedes replicar en desarrollo, producción, o en la computadora que quieras sin esfuerzo extra. Garantizando que mientras tengas Docker, ejecutará de la manera correcta.
«Docker fue creado en el 2013, pero si aún no lo conoces, el 2021 será el año en que empieces a utilizarlo. Hoy en día StackOverflow lo tiene en segundo lugar entre las plataformas que los desarrolladores más aman y en primer lugar como la que más quieren.»
Analicemos un poco más a fondo de qué es Docker y cómo funciona. Si ya has tenido un encuentro de primer tipo con esta herramienta, habrás leído o escuchado sobre los contenedores.
Comenzando con el hecho de que los contenedores no son algo único de Docker. Existiendo los contenedores de Linux, que permiten empaquetar y aislar las aplicaciones para poder ejecutarse en diferentes entornos. Docker fue desarrollado a partir de LXN, pero se ha desviado con el tiempo.
Y Docker lo lleva al siguiente nivel, facilitando la creación y diseño de contenedores, con ayuda de imágenes.
Las imágenes se pueden ver como plantillas que contienen un conjunto de instrucciones en orden, que sirven para crear un contenedor y como lo debe hacer.
Hoy en día Docker Hub es la biblioteca y comunidad más grande del mundo para imágenes de contenedores, en ella podrás encontrar imágenes, obtenerlas, compartir las que tu crees y administrarlas. Solo necesitas crear una cuenta, no dudes en ir a explorar al terminar de leer.
Ahora imagina que estás desarrollando una aplicación web, necesitas un servicio de HTTP Apache en su versión 2.5 y un servicio de MongoDB en su versión más actual.
Podrías levantar un contenedor por cada servicio o aplicación con ayuda de imágenes predefinidas que obtuviste de Docker Hub y se pueden comunicar entre ellos con ayuda de las redes de Docker.
Utilizar MongoDB, pero que la información de su base de datos se almacene desde un servicio en la nube del proveedor que prefieras. Esto se podrá replicar en el ambiente de desarrollo y de producción de la misma manera, fácil y rápido.
Una de las diferencias es que los contenedores virtualizan el sistema operativo en lugar del hardware.
Si analizamos otros aspectos, así como múltiples máquinas virtuales se pueden ejecutar en una sola, los contenedores pueden hacer lo mismo, pero los contenedores tardan menos en arrancar.
Y mientras cada máquina virtual incluye una copia completa de un sistema operativo, aplicaciones, etc. Los contenedores pueden compartir el mismo Kernel del S.O. lo cual los puede hacer más livianos. Las imágenes de los contenedores suelen tener un tamaño de decenas de MB y las máquinas virtuales pueden llegar a ocupar decenas de GB.
Existen más aspectos que te invito a buscar porque esto no quiere decir que dejemos de usar máquinas virtuales o que Docker sea mejor, solo que tenemos otra opción.
Se ha vuelto más complejo y flexible poder tener contenedores ejecutándose dentro de máquinas virtuales.
Puedes descargar e instalar Docker en múltiples plataformas (MAC, Windows y Linux) y se puede consultar el manual desde el sitio web oficial.
También existen diferentes proveedores de servicios en la nube que te permiten utilizarlo.
También tienes la alternativa de probar Docker sin una instalación con Play with Docker. Como su nombre lo dice, podrás jugar con Docker, descargando imágenes o repositorios para correr contenedores en instancias de Play with Docker. Todo al alcance de tu mano con una cuenta de Docker Hub.
Ahora conoces más sobre los problemas que existen al desarrollar, que es Docker y que funciona como solución, un poco sobre su sistema de contenedores e imágenes que puedes crear u obtener de Docker Hub. Sabes algunas diferencias entre las Máquinas Virtuales y Docker. Que docker es multiplataforma y que puedes experimentar con él sin instalarlo en tu computadora con Play with Docker.
Hoy en día cada vez más ofertas de trabajo solicitan Docker, incluso como un valor agregado a los requisitos necesarios para cubrir un puesto. Recuerda que, si estás en el mundo del desarrollo de software, si quieres construir, distribuir y ejecutar código donde sea, de una forma fácil, solucionar tus problemas, experimentar en nuevas tecnologías, aprender y comprender la idea del título en este artículo… Tú, debes aprender Docker.
Consultor BI
That when distributing what you built, to who needs it, you will be able to do it quickly, simply and without worrying about pre-installing, because everything will be defined from the time when you started building.
When you specify the environment you need, you can replicate it in development, production or on whatever computer you want without extra effort. Ensuring that as long as you have Docker, it will run properly
«Docker was created in 2013, but if you still don’t know it, 2021 will be the year you start using it. StackOverflow now has it rated second among the platforms that developers love most and in first place as the one they want most.»
Let’s take a closer look at what Docker is and how it works. If you have already had an initial encounter with this tool, you will have read or heard about the containers.
Starting with the fact that containers are not unique to Docker. There are Linux containers, which allow applications to be packaged and isolated to enable them to run in different environments. Docker was developed from LXN, but has deviated from it over time.
And Docker takes it to the next level, making it easy to create and design containers with the aid of images.
Images can be seen as templates that contain a set of instructions in order, which are used to create a container and how this needs to be done.
Docker Hub is now the world’s largest library and community for container images, where you can find images, obtain them, share what you create and manage them. You just need to create an account. Do not hesitate to go and explore it when you finish reading.
Now imagine you are developing a web application, you need an Apache HTTP service in its version 2.5 and a MongoDB service in its latest version.
You could set up a container for each service or application with the help of predefined images you got from Docker Hub and they can communicate with each other with the aid of Docker networks.
Using MongoDB, but with its stored database information coming from your preferred provider’s cloud service. This can be replicated in the development and production environment in the same way, quickly and easily.
One difference is that containers make the operating system virtual instead of hardware.
If we look at other aspects, as well as multiple virtual machines can run in a single one, containers can do the same, but containers take less time to start up.
And while each virtual machine includes a complete copy of an operating system, applications, etc., containers can share the same OS kernel, which can make them lighter. Container images are typically tens of MB in size, while virtual machines can take up tens of GB.
There are more things that I invite you to look out for, because this does not mean we stop using virtual machines or that Docker is better, just that we have another option.
Having containers running within virtual machines has become more complex and flexible
You can download and install Docker on multiple platforms (MAC, Windows and Linux) and you can consult the manual from the official website.
There are also several cloud service providers that let you use it.
You also have the alternative of trying out Docker without installation with Play with Docker. As the name says, you can play with Docker by downloading images or repositories to run containers in Play with Docker instances. All at your fingertips with a Docker Hub account.
Now you know more about the issues that exist in development, what Docker is and that it works as a solution, a little about its system of containers and images that you can create or get from Docker Hub. You understand some differences between Virtual Machines and Docker. That docker is multi-platform and you can experiment with it without installing it on your computer with Play with Docker.
Today more and more job offers are requesting Docker, including as a value added to the requirements needed to fill a job post. Remember that if you are in the world of software development, if you want to build, distribute and run code wherever, easily, solve your problems, experiment in new technologies, learn and understand the idea of the title in this article… You need to learn Docker.
© 2025 Bluetab Solutions Group, SL. All rights reserved.