En informática un contenedor es una unidad estándar de software que empaqueta código y todas sus dependencias de tal forma que una aplicación se despliega y ejecuta rápida y fiablemente entre diferentes entornos. Un contenedor Docker es una imagen ligera, aislada y ejecutable que incluye todo lo necesario para ejecutar un software: código, herramientas, librerías y configuración.
Las imágenes de Docker llegan a ser contenedores cuando se ejecutan bajo el motor de Docker. Este motor está disponible para Linux, Windows y Mac.
La tecnología Docker se lanzó en 2013 como código abierto, enfocada en las necesidades de los desarrolladores y administradores de sistemas para ayudarles a separar las dependencias de la infraestructura. Esta tecnología ayuda a eliminar los problemas de instalar un software en distintos entornos y que las diferencias en la infraestructura produzcan fallos. De todos los desarrolladores y administradores es conocido el problema de desplegar el software desde los entornos de desarrollo a los de pruebas y producción.
El éxito que cosechó Docker en Linux condujo a la asociación con Microsoft que creó contenedores Docker para Windows. La tecnología Docker también está muy implantada en centros de datos, proveedores de servicios en la nube y frameworks serverless.
En una misma máquina pueden ejecutarse múltiples contenedores compartiendo el núcleo del sistema operativo, pero cada uno ejecutando los procesos de forma aislada en su propio espacio de nombres.
Un ejemplo de uso de Docker
- Instalación de Docker
En https://hub.docker.com/ se descarga el producto para el sistema operativo que se necesite: Linux, Windows o Mac, y se procede a su instalación. Normalmente tiene más que seguir las indicaciones (siguiente, siguiente, .. ya sabes) - Descarga del container getting-started
Tras la instalación se puede proceder a descargar y ejecutar el primer contenedor de muestra que proporciona Docker. Este contenedor incluye un servidor web Nginx y una web con la documentación de Docker. Para instalarlo en cada sistema operativo acceder al modo comando y escribir:
docker run -d -p 80:80 docker/getting-started
este comando comprueba si tenemos esta imagen en nuestro ordenador, sino la tenemos la descarga (es nuestro caso, que acabamos de llegar a docker) y lo arranca. - Ejecución de la aplicación del contenedor
Lo que tenemos que hacer ahora el ir al navegador y escribir localhost. Esto arranca la web de documentación de Docker, que se ha instalado en el puerto 80 como si esta aplicación web de documentación y el servido Nginx estuviesen en nuestro ordenador. Si miramos en detalle vemos la url escrita en el navegador y corresponde con nuestro ordenador.
Uso de Docker desktop
El Docker dektop se instaló con la instalación de docker y permite entre otras cosas gestionar las imágenes y contenedores.
Si miramos en detalle vemos que el contenedor que está arrancado es el getting-started que acabamos de instalar y usar, que se llama vigorous-hofstadterConclusión
La tecnología de contenedores está actualmente en boga y ayuda a desarrollar y desplegar software evitando los quebraderos de cabeza que producen las dependencias entre unos paquetes software y otros.
Referencia
Para saber lo que es Docker está muy bien el post https://www.luisllamas.es/que-es-docker-y-como-usarlo/