9.1 Reencuentro con Docker Hub
Vamos a conocer más de cerca Docker Hub. Te recuerdo que es el registro público principal de Docker, donde los usuarios pueden almacenar, compartir y encontrar imágenes de contenedores listas para usar. La plataforma ofrece acceso a millones de contenedores, creados tanto por organizaciones oficiales como por la comunidad. En esta clase aprenderemos cómo buscar y descargar imágenes listas de Docker Hub de manera eficiente.
Tareas principales del servicio Docker Hub
Docker Hub es un servicio en la nube que permite subir imágenes a un almacenamiento centralizado y extraerlas de ahí. Este servicio es una plataforma donde los desarrolladores pueden compartir sus imágenes y utilizar soluciones creadas por otros. Las funciones principales de Docker Hub incluyen:
- Repositorios públicos y privados: La posibilidad de almacenar imágenes tanto de acceso público para todos como de acceso restringido para ciertos usuarios.
- Compilaciones automáticas (automated builds): Integración con sistemas de control de versiones como GitHub para construir automáticamente imágenes cada vez que se realicen cambios en el código.
- Webhooks: Configuración de acciones automáticas que se ejecutan cuando se actualizan las imágenes.
9.2 Búsqueda de imágenes listas
1. Uso de la interfaz web de Docker Hub
- Ve al sitio Docker Hub: abre Docker Hub en tu navegador.
- Búsqueda de imágenes: escribe el nombre de la imagen o palabras clave relacionadas con tu proyecto en la barra de búsqueda. Por ejemplo, para buscar la imagen de Nginx escribe "nginx" y presiona Enter.
- Revisar los resultados: los resultados de la búsqueda mostrarán imágenes relevantes. Las imágenes oficiales están marcadas como "Official" y son mantenidas por Docker o las organizaciones correspondientes. Las imágenes de otros usuarios tienen el nombre del usuario u organización indicado.
- Seleccionar una imagen: haz clic en la imagen que te interese para revisar su descripción, etiquetas disponibles, instrucciones de uso y otra información útil.
2. Buscar imágenes a través de la línea de comandos
Docker también permite buscar imágenes directamente desde la línea de comandos utilizando el comando docker search
.
Ejemplo de comando:
docker search nginx
Este comando mostrará una lista de imágenes que contienen nginx
en el nombre o la descripción. En el resultado se incluirán el nombre de la imagen, su descripción, cantidad de estrellas (calificación), marca de estado oficial e información sobre compilaciones automáticas.
Ejemplo de resultado:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 13764 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for... 2135 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM... 819 [OK]
9.3 Descargar imágenes
Después de encontrar la imagen que necesitas, puedes descargarla a tu máquina local usando el comando docker pull
.
1. Descargar una imagen específica
Para descargar una imagen específica, usa la siguiente sintaxis:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Dónde:
- NAME: nombre de la imagen.
- TAG: (opcional) tag de la imagen. Por defecto se usa el tag
latest
si no se especifica otro. - @DIGEST: (opcional) identificador SHA256 de la imagen.
Ejemplo de descarga de imagen:
Este ejemplo descargará la última imagen de nginx
con el tag latest
.
docker pull nginx:latest
2. Descargar una imagen con un tag específico
Si necesitas un tag específico de la imagen, especifícalo después de los dos puntos. Este ejemplo descargará la imagen de Ubuntu versión 20.04.
docker pull ubuntu:20.04
3. Verificar las imágenes descargadas
Después de descargar una imagen, puedes verificar qué imágenes están en tu máquina local usando el comando docker images
.
Ejemplo de comando:
La salida del comando mostrará una lista de todas las imágenes descargadas con información sobre el repositorio, el tag, el identificador de la imagen, la fecha de creación y el tamaño.
docker images
9.4 Ejemplos de uso de imágenes listas
1. Iniciar el servidor web Nginx
Después de descargar la imagen de Nginx puedes iniciar rápidamente un contenedor basado en ella.
Ejemplo:
Este ejemplo inicia un contenedor Nginx
en modo background y redirige el puerto 80 del contenedor al puerto 8080 de la máquina host. Ahora puedes acceder al servidor web Nginx
abriendo el navegador e ingresando http://localhost:8080.
docker run -d -p 8080:80 nginx
2. Iniciar la base de datos MySQL
Docker Hub proporciona imágenes listas de bases de datos como MySQL, lo que permite desplegar bases de datos fácilmente para desarrollo y pruebas.
Ejemplo:
Este ejemplo inicia un contenedor MySQL, configura una contraseña para el usuario root y redirige el puerto 3306 del contenedor al puerto 3306 de la máquina host.
docker run -d -p 3306:3306 --name my_mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:latest
3. Usar la imagen de Redis para caching
Redis es un sistema de caching popular, y Docker Hub proporciona una imagen lista de Redis que puedes usar para un despliegue rápido.
Ejemplo:
Este ejemplo inicia un contenedor Redis y redirige el puerto 6379 del contenedor al puerto 6379 de la máquina host.
docker run -d -p 6379:6379 --name my_redis redis:latest
GO TO FULL VERSION