Docker es una plataforma que facilita la creación, despliegue y ejecución de aplicaciones en contenedores. En esta primera clase, revisaremos conceptos clave como imágenes, contenedores y la comparación entre contenedores y máquinas virtuales. También realizaremos una demostración práctica utilizando Docker en Ubuntu 20.04.
Qué es Docker
Docker permite empaquetar una aplicación junto con todas sus dependencias en un contenedor. Esto asegura que la aplicación funcione de manera consistente en cualquier entorno, ya sea en desarrollo, pruebas o producción. A diferencia de las máquinas virtuales, los contenedores Docker comparten el kernel del sistema operativo del host, lo que los hace más ligeros y eficientes.
Componentes de una Aplicación Web
Hoy en día, una aplicación web dinámica puede consistir en varios componentes como el frontend, backend, base de datos, servidor web y librerías necesarias para su funcionamiento. Gestionar estas dependencias y compatibilidades puede volverse complejo, lo que se conoce como la «matriz del infierno». Docker soluciona este problema empaquetando la aplicación y sus dependencias en contenedores.
Imágenes y Contenedores
Una imagen de Docker es un paquete que incluye la aplicación y todo lo necesario para su ejecución. Un contenedor es una instancia en ejecución de una imagen. Las imágenes se almacenan en repositorios como Docker Hub, donde se pueden encontrar imágenes oficiales y de la comunidad.
Instalación de Docker en Ubuntu 20.04
Para instalar Docker en Ubuntu 20.04, seguimos estos pasos:
- Actualizar el índice de paquetes: sudo apt update
- Instalar las dependencias necesarias: sudo apt install apt-transport-https ca-certificates curl software-properties-common
- Agregar la clave GPG de Docker: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
- Agregar el repositorio Docker: sudo add-apt-repository «deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable»
- Actualizar el índice de paquetes nuevamente: sudo apt update
- Instalar Docker: sudo apt install docker-ce
Creación de un Contenedor Docker
Para crear nuestro primer contenedor, utilizamos la imagen oficial de Nginx:
- Buscar la imagen en Docker Hub: docker search nginx
- Descargar la imagen: docker pull nginx
- Crear y ejecutar el contenedor: sudo docker run –name mi_nginx -p 8080:80 -d nginx
Esto inicia un contenedor basado en la imagen de Nginx, mapeando el puerto 8080 del host al puerto 80 del contenedor. Ahora, podemos acceder a Nginx en nuestro navegador web a través de http://localhost:8080.
Administración de Contenedores
Algunos comandos útiles para administrar contenedores incluyen:
- Listar contenedores en ejecución: sudo docker ps
- Detener un contenedor: sudo docker stop mi_nginx
- Eliminar un contenedor: sudo docker rm mi_nginx
Conclusión
Docker nos ofrece una solución poderosa para gestionar aplicaciones web y sus dependencias de manera eficiente y portátil. En la próxima clase, profundizaremos en la creación y gestión de imágenes Docker, así como en el uso de Docker Compose para orquestar múltiples contenedores.