Compartir comentarios
Las respuestas se generan en base a la documentación.

Docker Hub quickstart

Docker Hub proporciona una amplia biblioteca de imágenes y recursos precompilados, acelerando los flujos de trabajo de desarrollo y reduciendo el tiempo de configuración. Puedes basarte en las imágenes precompiladas de Docker Hub y luego usar repositorios para compartir y distribuir tus propias imágenes con tu equipo o con millones de otros desarrolladores.

Esta guía te muestra cómo buscar y ejecutar una imagen precompilada. Luego, te guía en la creación de una imagen personalizada y en su difusión a través de Docker Hub.

Requisitos previos

Paso 1: Buscar una imagen en la biblioteca de Docker Hub

Puedes buscar contenido en la propia plataforma de Docker Hub, en el panel de control de Docker Desktop (Dashboard) o utilizando la CLI.

Para buscar o explorar contenido en Docker Hub:

  1. Navega a la página de exploración de Docker Hub.

    En la página Explore, puedes navegar por catálogo o categoría, o utilizar la búsqueda para encontrar contenido de forma rápida.

  2. En Categories, selecciona Web servers.

    Una vez que se muestren los resultados, puedes filtrarlos aún más utilizando los filtros del lado izquierdo de la página.

  3. En los filtros, selecciona Docker Official Image.

    Filtrar por contenido de confianza garantiza que solo veas imágenes seguras y de alta calidad seleccionadas por Docker y socios de publicación verificados.

  4. En los resultados, selecciona la imagen nginx.

    Al seleccionar la imagen se abre su página, donde puedes obtener más información sobre cómo utilizarla. En la página también encontrarás el comando docker pull para descargar la imagen.

  1. Abre el Dashboard de Docker Desktop.

  2. Selecciona la vista Docker Hub.

    En la vista Docker Hub, puedes navegar por catálogo o categoría, o utilizar la búsqueda para encontrar contenido de forma rápida.

  3. Deja el cuadro de búsqueda vacío y selecciona Search.

    Los resultados de la búsqueda se muestran con filtros adicionales que ahora aparecen junto al cuadro de búsqueda.

  4. Selecciona el icono de filtro de búsqueda y luego selecciona Docker Official Image y Web Servers.

  5. En los resultados, selecciona la imagen nginx.

  1. Abre una ventana de terminal.

    Tip

    El Dashboard de Docker Desktop contiene una terminal integrada. En la parte inferior del Dashboard, selecciona >_ Terminal para abrirla.

  2. En la terminal, ejecuta el siguiente comando:

    $ docker search --filter is-official=true nginx
    

    A diferencia de las interfaces de Docker Hub y Docker Desktop, no puedes buscar por categoría utilizando el comando docker search. Para obtener más detalles sobre el comando, consulta docker search.

Ahora que has encontrado una imagen, es hora de descargarla y ejecutarla en tu dispositivo.

Paso 2: Descargar y ejecutar una imagen desde Docker Hub

Puedes ejecutar imágenes de Docker Hub utilizando la CLI o el Dashboard de Docker Desktop.

  1. En el Dashboard de Docker Desktop, selecciona la imagen nginx en la vista Docker Hub. Para obtener más detalles, consulta Paso 1: Buscar una imagen en la biblioteca de Docker Hub.

  2. En la pantalla de nginx, selecciona Run.

    Si la imagen no existe en tu dispositivo, se descarga automáticamente desde Docker Hub. Descargar la imagen puede tardar unos segundos o minutos, dependiendo de tu conexión. Una vez descargada la imagen, aparece una ventana en Docker Desktop donde puedes especificar las opciones de ejecución.

  3. En la opción Host port, especifica 8080.

  4. Selecciona Run.

    Los registros del contenedor aparecen después de que este se inicia.

  5. Selecciona el enlace 8080:80 para abrir el servidor, o visita http://localhost:8080 en tu navegador web.

  6. En el Dashboard de Docker Desktop, selecciona el botón Stop para detener el contenedor.

  1. Abre una ventana de terminal.

    Tip

    El Dashboard de Docker Desktop contiene una terminal integrada. En la parte inferior del Dashboard, selecciona >_ Terminal para abrirla.

  2. En tu terminal, ejecuta el siguiente comando para descargar y ejecutar la imagen de Nginx:

    $ docker run -p 8080:80 --rm nginx
    

    El comando docker run descarga y ejecuta automáticamente la imagen sin necesidad de ejecutar primero docker pull. Para obtener más información sobre el comando y sus opciones, consulta la referencia de la CLI de docker run. Después de ejecutar el comando, deberías ver una salida similar a la siguiente:

    Unable to find image 'nginx:latest' locally
    latest: Pulling from library/nginx
    a480a496ba95: Pull complete
    f3ace1b8ce45: Pull complete
    11d6fdd0e8a7: Pull complete
    f1091da6fd5c: Pull complete
    40eea07b53d8: Pull complete
    6476794e50f4: Pull complete
    70850b3ec6b2: Pull complete
    Digest: sha256:28402db69fec7c17e179ea87882667f1e054391138f77ffaf0c3eb388efc3ffb
    Status: Downloaded newer image for nginx:latest
    /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
    /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
    /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
    10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
    10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
    /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
    /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
    /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
    /docker-entrypoint.sh: Configuration complete; ready for start up
    2024/11/07 21:43:41 [notice] 1#1: using the "epoll" event method
    2024/11/07 21:43:41 [notice] 1#1: nginx/1.27.2
    2024/11/07 21:43:41 [notice] 1#1: built by gcc 12.2.0 (Debian 12.2.0-14)
    2024/11/07 21:43:41 [notice] 1#1: OS: Linux 6.10.11-linuxkit
    2024/11/07 21:43:41 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
    2024/11/07 21:43:41 [notice] 1#1: start worker processes
    2024/11/07 21:43:41 [notice] 1#1: start worker process 29
    ...
    
  3. Visita http://localhost:8080 para ver la página predeterminada de Nginx y verificar que el contenedor se está ejecutando.

  4. En la terminal, presiona Ctrl+C para detener el contenedor.

Ya has ejecutado un servidor web sin necesidad de configuraciones previas. Docker Hub proporciona acceso instantáneo a imágenes de contenedores listas para usar, lo que te permite descargar y ejecutar aplicaciones de forma rápida sin necesidad de instalar o configurar software manualmente. Con la gran biblioteca de imágenes de Docker Hub, puedes experimentar y desplegar aplicaciones sin esfuerzo, lo que aumenta la productividad y facilita probar nuevas herramientas, configurar entornos de desarrollo o basarte en software existente.

También puedes extender imágenes de Docker Hub, lo que te permite compilar y personalizar rápidamente tus propias imágenes para adaptarlas a necesidades específicas.

Paso 3: Compilar y enviar una imagen a Docker Hub

  1. Crea un Dockerfile para especificar tu aplicación:

    FROM nginx
    RUN echo "<h1>Hello world from Docker!</h1>" > /usr/share/nginx/html/index.html

    Este Dockerfile extiende la imagen de Nginx de Docker Hub para crear un sitio web sencillo. Con unas pocas líneas, puedes configurar, personalizar y compartir un sitio web estático utilizando Docker.

  2. Ejecuta el siguiente comando para compilar tu imagen. Reemplaza <YOUR-USERNAME> con tu Docker ID.

    $ docker build -t <YOUR-USERNAME>/nginx-custom .
    

    Este comando compila tu imagen y la etiqueta para que Docker entienda a qué repositorio subirla en Docker Hub. Para obtener más información sobre el comando y sus opciones, consulta la referencia de la CLI de docker build. Después de ejecutar el comando, deberías ver una salida similar a la siguiente:

    [+] Building 0.6s (6/6) FINISHED                      docker:desktop-linux
     => [internal] load build definition from Dockerfile                  0.0s
     => => transferring dockerfile: 128B                                  0.0s
     => [internal] load metadata for docker.io/library/nginx:latest       0.0s
     => [internal] load .dockerignore                                     0.0s
     => => transferring context: 2B                                       0.0s
     => [1/2] FROM docker.io/library/nginx:latest                         0.1s
     => [2/2] RUN echo "<h1>Hello world from Docker!</h1>" > /usr/share/  0.2s
     => exporting to image                                                0.1s
     => => exporting layers                                               0.0s
     => => writing image sha256:f85ab68f4987847713e87a95c39009a5c9f4ad78  0.0s
     => => naming to docker.io/mobyismyname/nginx-custom                  0.0s
    
  3. Ejecuta el siguiente comando para probar tu imagen. Reemplaza <YOUR-USERNAME> con tu Docker ID.

    $ docker run -p 8080:80 --rm <YOUR-USERNAME>/nginx-custom
    
  4. Visita http://localhost:8080 para ver la página. Deberías ver Hello world from Docker!.

  5. En la terminal, presiona CTRL+C para detener el contenedor.

  6. Inicia sesión en Docker Desktop. Debes iniciar sesión antes de subir una imagen a Docker Hub.

  7. Ejecuta el siguiente comando para subir tu imagen a Docker Hub. Reemplaza <YOUR-USERNAME> con tu Docker ID.

    $ docker push <YOUR-USERNAME>/nginx-custom
    
    Note

    Debes haber iniciado sesión en Docker Hub a través de Docker Desktop o la línea de comandos, y también debes nombrar tus imágenes correctamente, de acuerdo con los pasos anteriores.

    El comando sube la imagen a Docker Hub y crea automáticamente el repositorio si este no existe. Para obtener más información sobre el comando, consulta la referencia de la CLI de docker push. Después de ejecutar el comando, deberías ver una salida similar a la siguiente:

    Using default tag: latest
    The push refers to repository [docker.io/mobyismyname/nginx-custom]
    d0e011850342: Pushed
    e4e9e9ad93c2: Mounted from library/nginx
    6ac729401225: Mounted from library/nginx
    8ce189049cb5: Mounted from library/nginx
    296af1bd2844: Mounted from library/nginx
    63d7ce983cd5: Mounted from library/nginx
    b33db0c3c3a8: Mounted from library/nginx
    98b5f35ea9d3: Mounted from library/nginx
    latest: digest: sha256:7f5223ae866e725a7f86b856c30edd3b86f60d76694df81d90b08918d8de1e3f size: 1985
    

    Ahora que has creado un repositorio y subido tu imagen, es hora de ver tu repositorio y explorar sus opciones.

Paso 4: Ver tu repositorio en Docker Hub y explorar opciones

Puedes ver tus repositorios de Docker Hub en la interfaz de Docker Hub o en la de Docker Desktop.

  1. Ve a Docker Hub e inicia sesión.

    Después de iniciar sesión, deberías estar en la página Repositories. De lo contrario, ve a la página Repositories.

  2. Busca el repositorio nginx-custom y selecciona esa fila.

    Después de seleccionar el repositorio, deberías ver más detalles y opciones para tu repositorio.

  1. Inicia sesión en Docker Desktop.

  2. Selecciona la vista Images.

  3. Selecciona la pestaña Hub repositories.

    Aparece una lista de tus repositorios de Docker Hub.

  4. Busca el repositorio nginx-custom, pasa el cursor sobre la fila y luego selecciona View in Hub.

    Docker Hub se abre y puedes ver más detalles sobre la imagen.

Has verificado que tu repositorio existe en Docker Hub y has descubierto más opciones para él. Consulta los siguientes pasos para obtener más información sobre algunas de estas opciones.

Siguientes pasos

Añade información del repositorio para ayudar a los usuarios a encontrar y utilizar tu imagen.