Descubramos 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 pasaremos un tiempo explorando algunos de los repositorios populares en Docker Hub.

Requisitos previos

Necesitas un básico comprensión 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 aquí.

What is Docker Hub?

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

Nos permite extraer y enviar imágenes de la ventana acoplable hacia y desde Docker Hub. Podemos tratar esto como un GitHub, donde obtenemos y enviamos nuestro código fuente, pero en el caso de Docker Hub, descargamos o publicamos nuestras imágenes de 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 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.

Docker Hub Features

Docker Hub ofrece las siguientes características.

#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 un 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 se ha enviado algún cambio en el código fuente 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 enviado 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 dockers 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 del editor, 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.

Creating First Repository

Este paso requiere iniciar sesión en 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 hecho clic en Crear repositorio, le pedirá un nombre, le dará un nombre a su repositorio.
Mi primer 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.

¡Enhorabuena! Ha creado sus primeros repositorios, que tendrán el siguiente aspecto.

Creando el primer repositorio

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

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

docker login

Exploring the images

Hay dos formas de buscar imágenes y repositorios públicos desde Docker Hub, es decir, podemos buscarlo en 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 en la imagen del repositorio de MySQL.

docker search mysql
Comando de búsqueda de Docker

Downloading an image

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

# docker pull mysql

Si ya tenemos mysql image 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 la salida del comando de búsqueda de la ventana acoplable, 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 el apropiado.

Digamos que queremos extraer una imagen bitnami / mysql.

# docker pull bitnami/mysql

Creating an image

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

¿Cómo 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 mayúscula "D".

FROM ubuntu:16.04
MAINTAINER someuser@somedomain.com
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 que se utilizan en Dockerfile

  • Podemos utilizar # símbolos para agregar un comentario en un Dockerfile
  • Los "DE”La palabra clave define la imagen base que se utilizará.
  • Los "MANTENEDORLa palabra clave es la persona que va a mantener esa imagen.
  • Los "CorrerLa palabra clave ”se utiliza para ejecutar la instrucción dada para la imagen. En nuestro caso, primero actualice el sistema y luego instale MySQL.
  • Los "CMDLa palabra clave ”se utiliza para ejecutar un comando una vez que se ha lanzado el contenedor.
  • Los "COPIA”Se puede utilizar para copiar un archivo de nuestro sistema operativo host al contenedor de la ventana acoplable.
  • 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 / nombre-repo.

# 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 de Docker. "-t”Se utiliza para etiquetar la imagen. Podemos ver una salida similar a:

Construyendo una imagen de Docker

Ahora probemos nuestra imagen ejecutándola mediante el comando ejecutar de la ventana acoplable.

docker run asadali08527/first-repo

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

Pushing an image

Una vez que nuestra imagen se ha creado correctamente y se está ejecutando, podemos enviarla a Docker Hub mediante el comando push.

docker push asadali08527/first-repo
presionando una imagen de Docker

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

Captura de pantalla de Docker Hub después de presionar una imagen

What is Docker Certified Images?

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

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

Nota -

Para publicar nuestra imagen como Docker Certified, primero tenemos que certificar y probar nuestras imágenes y plugin nosotros mismos a través del inspeccionarDockerImagen , una vez que la hemos certificado y probado con éxito, al enviarlo, Docker Hub lo certificará. Si nuestro contenido requiere un entorno no certificado, no se puede publicar como certificado en ninguna circunstancia.

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

La popularidad de estas imágenes depende de varios factores, como tirones, presencia en el mercado, calificaciones, puntajes de satisfacción, etc. Para obtener una lista detallada de los repositorios más populares, naveguemos hasta el 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 factores clave a continuación antes de extraer una imagen.

  • Busque una versión específica utilizando etiquetas (principalmente la última).
  • Opte por el que tenga máximas descargas y estrellas.
  • Busque sus actualizaciones (cuando se haya actualizado por última vez).
  • Si es posible, verifique su tipo, ya sea del editor verificado o oficial (Docker Certified).

Webhooks

Un webhook es una devolución de llamada web que funciona con eventos y es una forma de que una aplicación proporcione información en tiempo real a otra aplicación. Hoy en día, casi todas las aplicaciones ofrecen 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 utilizar un webhook en la ventana acoplable para notificar una aplicación o servicio que utiliza las imágenes en cuestión. Generalmente, 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 correctamente, 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 este Guía de instalación de Docker.