Todo lo que debe saber sobre Docker Hub

Averigüemos sobre Docker Hub.

Hoy, en este tutorial, aprenderemos sobre Docker Hub, incluido cómo usarlo, cómo crear nuestra propia imagen y cómo ayuda a publicar y extraer imágenes hacia y desde Centro acoplable. Y también dedicaremos un tiempo a explorar algunos de los repositorios populares en Docker Hub.

requisitos previos

Necesita una comprensión básica de Docker, familiarizado con el entorno Windows y Linux. Este tutorial utilizará la herramienta Docker Desktop para practicar el ejercicio continuo, es decir, para crear y enviar una imagen a Docker Hub. Los usuarios de Windows y Mac pueden descargarlo e instalarlo desde aquíy los usuarios de Linux siguen esto Enlace.

¿Qué es DockerHub?

Docker Hub es un servicio de registro de repositorio proporcionado por estibador inc.

Nos permite extraer y enviar imágenes de Docker hacia y desde Docker Hub. Podemos tratar esto como un GitHub, donde buscamos y enviamos nuestro código fuente, pero en el caso de Docker Hub, descargamos o publicamos las imágenes de nuestro contenedor. Es un repositorio en línea basado en la nube que almacena ambos tipos de repositorios, es decir, el repositorio público y el repositorio privado. Los repositorios públicos son accesibles para todos, pero el privado es accesible para el propietario interesado de los repositorios; también hay un costo asociado si almacenamos más de un cierto número de repositorios como privado.

Características del concentrador Docker

Docker Hub ofrece las siguientes funciones.

#1. Repositorios de imágenes

Nos ayuda a encontrar y extraer imágenes de contenedores de Docker Hub.

También nos ayuda a enviar imágenes como repositorio público o privado a Docker Hub.

#2. Equipo y Organizaciones

Nos permite crear grupos de trabajo e impulsar los repositorios como uno privado, que está disponible para su uso únicamente dentro de nuestra organización. De esta forma, hemos gestionado el acceso a nuestros repositorios privados de imágenes de contenedores.

#3. Integración de GitHub y Bitbucket

Permite la integración con repositorios de código fuente como GitHub y BitBucket.

#4. Construcciones automatizadas

Si algún cambio en el código fuente se envió a los repositorios de código fuente, automáticamente detecta y crea imágenes de contenedor desde GitHub o BitBucket y las envía a Docker Hub.

#5. Webhooks

Una vez que hemos empujado nuestras imágenes con éxito, con la ayuda de un webhook, desencadena una acción para integrar Docker Hub con otros servicios.

#6. Imágenes oficiales y del editor

Las imágenes de alta calidad proporcionadas por los acopladores se consideran imágenes oficiales y se pueden extraer y utilizar. Del mismo modo, las imágenes de alta calidad proporcionadas por proveedores externos son imágenes de editores, también llamadas imágenes certificadas, que brindan soporte y garantía de compatibilidad con Docker Enterprise. Discutiremos más imágenes certificadas más adelante en este artículo.

Creación del primer repositorio

Este paso requiere iniciar sesión en el Centro acoplable utilizando sus credenciales de inicio de sesión. Si no tiene una cuenta, ya puede crearla haciendo clic en el botón Registrarse disponible en la página web. Una vez que haya iniciado sesión, puede crear el repositorio haciendo clic en Crear repositorio en la página de bienvenida.

  • Una vez que haga clic en Crear repositorio, le pedirá un nombre, asígnele un nombre a su repositorio.

  • Seleccione una opción de visibilidad entre pública o privada.

También podemos integrar nuestros repositorios de código fuente como GitHub y BitBucket a través de la configuración de compilación, pero es opcional y también se puede hacer en una etapa posterior.

  • Una vez que todo esté hecho, haga clic en Crear.

¡Felicidades! Ha creado sus primeros repositorios, que se verán de la siguiente manera.

Docker Hub nos brinda solo un repositorio privado de forma gratuita. Aunque, si necesitamos más repositorios privados, podemos actualizar nuestra cuenta a un plan de pago.

Ahora abra la herramienta/terminal Docker Desktop, descargada e instalada arriba e inicie sesión en Docker Hub, usando un comando.

docker login

Explorando las imágenes

Hay dos formas de buscar repositorios públicos e imágenes desde Docker Hub, es decir, podemos buscarlo desde el sitio web de Docker Hub o podemos usar la herramienta de línea de comandos y ejecutar el siguiente comando. Considere que queremos buscar la imagen del repositorio de MySQL.

docker search mysql

Descargar una imagen

Podemos descargar una imagen desde el comando Docker Hub usando el comando pull de la siguiente manera

# docker pull mysql

Si ya tenemos una imagen mysql en nuestra máquina, el comando anterior actualizará automáticamente la imagen a la última versión. Una cosa a tener en cuenta aquí es que si notamos el resultado de nuestro comando de búsqueda de docker, hay muchas imágenes de MySQL en Docker Hub, y eso se debe a que cualquiera puede enviar una imagen. Pero depende de nosotros, cuál usar en función de nuestro caso de uso, y necesitamos preparar el apropiado.

Digamos que queremos extraer una imagen bitnami/mysql.

# docker pull bitnami/mysql

Creando una imagen

Este proceso requiere un Dockerfile. Podemos pensar en un Dockerfile como un manual de instrucciones que le dice a Docker qué ensamblar. En resumen, es un archivo de configuración que guarda instrucciones de ensamblado, lo que le decimos que ensamble.

¿Como funciona?

Docker lee las instrucciones de un Dockerfile y crea imágenes automáticamente. La imagen de Docker es un sistema de archivos en capas y consta de varias capas de solo lectura, y cada capa de una imagen de Docker representa las instrucciones de un Dockerfile. Sigamos los pasos a continuación para crear una imagen usando Dockerfile.

Cree un Dockerfile, que especifica la configuración de nuestra aplicación.

# sudo vim Dockerfile

Nota: el nombre del archivo debe ser Dockerfile con una «D» mayúscula.

FROM ubuntu:16.04
MAINTAINER [email protected]
RUN apt-get update
RUN apt-get install –y mysql
CMD echo "My first image created."

Echemos un vistazo a algunas de las palabras clave importantes utilizadas en Dockerfile

  • Podemos usar símbolos # para agregar un comentario en un Dockerfile
  • La palabra clave «FROM» define la imagen base que se utilizará.
  • Los «MANTENEDORLa palabra clave es la persona que va a mantener esa imagen.
  • La palabra clave «EJECUTAR» se utiliza para ejecutar la instrucción dada para la imagen. En nuestro caso, primero actualice el sistema y luego instale MySQL.
  • La palabra clave «CMD» se utiliza para ejecutar un comando una vez que se ha lanzado el contenedor.
  • La palabra clave «COPY» se puede usar para copiar un archivo de nuestro sistema operativo host al contenedor docker.
  • La palabra clave «EXPOSE» se utiliza para especificar el número de puerto en el que el contenedor ejecutará su proceso.

Ejecute el siguiente comando para construir nuestra imagen de Docker

Sintaxis:

docker build -t /repo-name .

# docker build -t asadali08537/first-repo .

En el comando anterior, el nombre de la imagen es y “.” especifica el directorio de trabajo actual. Esta es una indicación para que Docker busque el directorio actual del archivo docker. “-t” se usa para etiquetar la imagen. Podemos ver una salida similar a:

Ahora probemos nuestra imagen ejecutándola a través del comando de ejecución de la ventana acoplable.

docker run asadali08527/first-repo

Ejecutar el comando anterior le pedirá a su imagen de Docker que instale MySQL con éxito en su máquina con todas las actualizaciones necesarias y, finalmente, también mostrará un mensaje de eco.

empujando una imagen

Una vez que nuestra imagen se haya creado con éxito y se esté ejecutando, podemos enviarla a Docker Hub a través del comando push.

docker push asadali08527/first-repo

Podemos verificar las etiquetas de imagen y el estado en Docker Hub, que se verá así.

¿Qué son las imágenes certificadas de Docker?

Estas son las imágenes oficiales impulsadas por proveedores o colaboradores. Docker Hub solo puede certificar una imagen si su contenido cumple con las reglas, los estándares y las leyes proporcionadas por Docker Hub. En resumen, esa imagen debe pasar ciertas pruebas de referencia.

Docker Hub proporciona la herramienta inspectDockerImage, a través de la cual un proveedor puede autocertificar las imágenes y los complementos (por lo general, el proveedor o colaborador publica sus complementos para registrar volúmenes y redes).

Nota –

Para publicar nuestra imagen como docker certificado, primero tenemos que certificar y probar nuestras imágenes y el complemento por nosotros mismos a través de la inspeccionarDockerImagen herramienta, una vez que hayamos certificado y probado con éxito, Docker Hub la certificará al enviarla. Si nuestro contenido requiere un entorno no certificado, no se puede publicar como certificado bajo ninguna circunstancia.

Hay muchas imágenes seleccionadas y optimizadas disponibles en Docker Hub.

La popularidad de estas imágenes depende de varios factores, como atracción, presencia en el mercado, calificaciones, puntajes de satisfacción, etc. Para obtener una lista detallada de los repositorios más populares, vayamos a Centro acoplable sitio web. El uso de una imagen también depende del sistema operativo y su arquitectura. Si sabemos que las imágenes extraídas se utilizarán para qué sistema operativo y su arquitectura, debemos considerar los siguientes factores clave antes de extraer una imagen.

  • Busque una versión específica usando etiquetas (principalmente la última).
  • Opta por el que tenga el máximo de descargas y estrellas.
  • Verifique sus actualizaciones (cuando se actualizó por última vez).
  • Si es posible, verifique su tipo, ya sea el publicador verificado o el oficial (certificado por Docker).

Webhooks

Un webhook es una devolución de llamada web que funciona con eventos y es una forma en que una aplicación proporciona información en tiempo real a otra aplicación. Hoy en día, casi todas las aplicaciones proporcionan una función de webhook, por lo que Docker Hub también tiene esta función.

Es una API push HTTP activada por eventos designados por el usuario. Podemos usar un webhook en docker para notificar una aplicación o servicio que usa las imágenes en cuestión. En general, configuramos webhooks con docker como una canalización de eventos, de modo que cualquier carga de nuevas imágenes activará aplicaciones de prueba para ejecutar los casos de prueba subrayados.

Una vez que el resultado de la prueba sea exitoso, activará otro evento, que será la implementación del contenedor, y una vez que la implementación se haya realizado con éxito, activará otros eventos para registrar los cambios realizados hasta el momento.

Conclusión

Creo que ahora tiene una comprensión justa de Docker Hub y cómo puede buscar, crear y enviar imágenes. Tenga en cuenta que cuando envíe imágenes públicas, cualquiera podrá verlas.

Si aún no lo ha hecho, consulte esta guía de instalación de Docker.