Cómo usar el comando docker scout watch para monitorear imágenes de contenedores

DockerDockerBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá cómo utilizar de manera efectiva el comando docker scout watch para monitorear imágenes de contenedores. Explorará varios escenarios, comenzando por vigilar un repositorio específico en busca de nuevas imágenes y luego refinando su monitoreo filtrando por etiquetas (tags). También aprenderá cómo extender su vigilancia para abarcar todos los repositorios dentro de un registro (registry) y, finalmente, cómo iniciar una vigilancia que incluya todas las imágenes existentes en un repositorio. A través de ejercicios prácticos, adquirirá experiencia práctica en la configuración y gestión del monitoreo de imágenes con Docker Scout.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/ImageOperationsGroup -.-> docker/tag("Tag an Image") docker/ImageOperationsGroup -.-> docker/push("Push Image to Repository") docker/ImageOperationsGroup -.-> docker/images("List Images") docker/ImageOperationsGroup -.-> docker/search("Search Images in Repository") subgraph Lab Skills docker/pull -.-> lab-555218{{"Cómo usar el comando docker scout watch para monitorear imágenes de contenedores"}} docker/tag -.-> lab-555218{{"Cómo usar el comando docker scout watch para monitorear imágenes de contenedores"}} docker/push -.-> lab-555218{{"Cómo usar el comando docker scout watch para monitorear imágenes de contenedores"}} docker/images -.-> lab-555218{{"Cómo usar el comando docker scout watch para monitorear imágenes de contenedores"}} docker/search -.-> lab-555218{{"Cómo usar el comando docker scout watch para monitorear imágenes de contenedores"}} end

Vigilar un repositorio específico en busca de nuevas imágenes

En este paso, aprenderá cómo vigilar un repositorio de Docker específico en busca de nuevas imágenes utilizando el comando docker pull. Esta es una operación fundamental en Docker que le permite descargar imágenes desde un registro (registry) a su máquina local.

Primero, vamos a descargar una imagen específica del registro de Docker Hub. Utilizaremos la imagen hello-world, que es una imagen muy pequeña utilizada para probar las instalaciones de Docker.

docker pull hello-world

Debería ver una salida que indique que la imagen se está descargando.

Using default tag: latest
latest: Pulling from library/hello-world
...
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest

Este comando le dice a Docker que descargue la imagen hello-world con la etiqueta (tag) latest del registro predeterminado (Docker Hub). Si la imagen ya existe localmente, Docker verificará si hay una versión más reciente disponible y la descargará si es necesario.

A continuación, vamos a enumerar las imágenes que tiene en su máquina local para confirmar que la imagen hello-world se ha descargado.

docker images

Debería ver hello-world en la salida.

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    ...            ...            ...

Este comando muestra una lista de todas las imágenes de Docker almacenadas en su máquina local, incluyendo su repositorio, etiqueta (tag), ID de imagen, fecha de creación y tamaño.

Ahora, intentemos descargar la misma imagen nuevamente. Dado que ya tiene la versión latest de hello-world, Docker no la descargará de nuevo.

docker pull hello-world

La salida indicará que la imagen está actualizada.

Using default tag: latest
latest: Pulling from library/hello-world
Status: Image is up to date for hello-world:latest
docker.io/library/hello-world:latest

Esto demuestra cómo docker pull verifica si hay versiones más recientes antes de descargar.

Vigilar un repositorio específico y filtrar por etiqueta (tag)

En este paso, aprenderá cómo vigilar un repositorio de Docker específico y filtrar por etiqueta (tag) al descargar imágenes. Las imágenes de Docker a menudo tienen diferentes versiones o variantes identificadas por etiquetas (tags). Especificar una etiqueta le permite descargar una versión particular de una imagen.

En el paso anterior, descargamos la imagen hello-world con la etiqueta (tag) predeterminada latest. Ahora, vamos a descargar una imagen diferente, por ejemplo, la imagen ubuntu, y especificar una etiqueta particular. Descargaremos la etiqueta (tag) 20.04, que corresponde a la versión LTS Ubuntu 20.04.

docker pull ubuntu:20.04

Verá una salida que indique el progreso de la descarga de la etiqueta (tag) de la imagen de Ubuntu especificada.

20.04: Pulling from library/ubuntu
...
Status: Downloaded newer image for ubuntu:20.04
docker.io/library/ubuntu:20.04

Este comando le dice a Docker que descargue la imagen ubuntu específicamente con la etiqueta (tag) 20.04. Si no especifica una etiqueta, Docker utiliza latest por defecto.

Ahora, vamos a enumerar nuevamente las imágenes locales para ver la recién descargada imagen ubuntu:20.04.

docker images

Ahora debería ver tanto hello-world:latest como ubuntu:20.04 en la lista.

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    ...            ...            ...
ubuntu        20.04     ...            ...            ...

Esto muestra que ha descargado con éxito una versión específica de la imagen ubuntu especificando su etiqueta (tag).

También puede descargar otras etiquetas (tags) de la misma imagen. Por ejemplo, vamos a descargar la etiqueta (tag) 18.04 de la imagen ubuntu.

docker pull ubuntu:18.04

Nuevamente, verá el progreso de la descarga.

18.04: Pulling from library/ubuntu
...
Status: Downloaded newer image for ubuntu:18.04
docker.io/library/ubuntu:18.04

Enumerar las imágenes una vez más mostrará las tres imágenes que ha descargado.

docker images

La salida ahora incluirá ubuntu:18.04.

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    ...            ...            ...
ubuntu        20.04     ...            ...            ...
ubuntu        18.04     ...            ...            ...

Esto demuestra cómo puede utilizar etiquetas (tags) para gestionar diferentes versiones de la misma imagen en su máquina local.

Vigilar todos los repositorios en un registro (registry)

En este paso, aprenderá cómo enumerar los repositorios dentro de un registro (registry) de Docker. Si bien docker pull se utiliza para imágenes individuales, no existe un solo comando para "vigilar" o enumerar todos los repositorios en un registro público como Docker Hub directamente desde la interfaz de línea de comandos (CLI) de Docker debido a la gran cantidad de repositorios. Sin embargo, puede buscar repositorios basados en palabras clave.

El comando docker search le permite buscar imágenes en el registro de Docker Hub. Vamos a buscar imágenes relacionadas con "nginx".

docker search nginx

Verá una lista de repositorios que coinciden con el término de búsqueda "nginx".

NAME                               DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                              Official build of Nginx.                        16000     [OK]
...

La salida proporciona información sobre cada repositorio coincidente, incluyendo su nombre, descripción, número de estrellas (stars) y si es una imagen oficial o una compilación automatizada (automated build).

También puede filtrar los resultados de la búsqueda. Por ejemplo, para ver solo las imágenes oficiales relacionadas con "ubuntu", puede utilizar la opción --filter.

docker search --filter is-official=true ubuntu

Este comando le mostrará solo los repositorios oficiales de Ubuntu.

NAME      DESCRIPTION                STARS     OFFICIAL   AUTOMATED
ubuntu    Ubuntu is a Debian-based...   14000     [OK]

Si bien docker search no enumera todos los repositorios, es la principal forma de descubrir imágenes dentro de un registro utilizando la interfaz de línea de comandos (CLI) de Docker. Para obtener una lista completa de repositorios en un gran registro público como Docker Hub, normalmente tendría que utilizar la API del registro o una interfaz web.

Con fines de este laboratorio, entender cómo buscar y descubrir imágenes es clave para encontrar los repositorios que desea "vigilar" o descargar imágenes.

Vigilar un repositorio y enviar (push) todas las imágenes existentes

En este paso, aprenderá cómo etiquetar (tag) una imagen existente y enviarla (push) a un registro (registry) de Docker. Enviar imágenes le permite compartir sus imágenes personalizadas o versiones modificadas de imágenes existentes con otros o almacenarlas en una ubicación remota.

Antes de poder enviar una imagen, debe etiquetarla con la dirección del registro, su nombre de usuario y el nombre del repositorio. Utilizaremos la imagen ubuntu:20.04 que descargó en el paso anterior. Vamos a etiquetarla para enviarla a Docker Hub. Reemplace your_docker_username con su nombre de usuario real de Docker Hub.

docker tag ubuntu:20.04 your_docker_username/ubuntu:20.04

Este comando crea una nueva etiqueta (tag) para la imagen ubuntu:20.04. La nueva etiqueta es your_docker_username/ubuntu:20.04. El formato es [registry]/[username]/[repository]:[tag]. Si está enviando a Docker Hub, puede omitir la parte del registro (docker.io/).

Ahora, enumere nuevamente sus imágenes locales para ver la nueva etiqueta.

docker images

Debería ver una entrada con your_docker_username/ubuntu como repositorio y 20.04 como etiqueta, compartiendo el mismo ID de imagen que la imagen original ubuntu:20.04.

REPOSITORY                     TAG       IMAGE ID       CREATED        SIZE
hello-world                    latest    ...            ...            ...
ubuntu                         20.04     ...            ...            ...
ubuntu                         18.04     ...            ...            ...
your_docker_username/ubuntu    20.04     ...            ...            ...

Ahora que la imagen está etiquetada correctamente, puede enviarla a su repositorio de Docker Hub. Nota: Debe iniciar sesión en Docker Hub para enviar imágenes. Si no ha iniciado sesión, el comando docker push fallará. Con fines de este laboratorio, demostraremos el comando, pero no es necesario que envíe la imagen con éxito a menos que tenga una cuenta de Docker Hub e haya iniciado sesión.

docker push your_docker_username/ubuntu:20.04

Si ha iniciado sesión, verá una salida que indique las capas (layers) que se están enviando al registro. Si no ha iniciado sesión, recibirá un error de autenticación.

The push refers to repository [docker.io/your_docker_username/ubuntu]
...

Este comando carga la imagen con la etiqueta especificada a su repositorio en Docker Hub.

Si bien no puede "vigilar" un repositorio y enviar automáticamente todas las imágenes existentes con un solo comando, puede lograr esto mediante la escritura de un script con los comandos docker tag y docker push para las imágenes que desea enviar.

Resumen

En este laboratorio, aprendiste el comando fundamental docker pull para descargar imágenes de contenedores desde un registro (registry), demostrando específicamente cómo descargar una imagen específica como hello-world y verificar su presencia utilizando docker images. También observaste cómo Docker gestiona de manera eficiente las solicitudes de descarga (pull requests) posteriores de la misma imagen, descargando solo si hay una versión más reciente disponible.