Cómo usar el comando docker scout environment para gestionar entornos

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ás cómo utilizar el comando docker scout environment para gestionar diferentes entornos de Docker. Comenzarás listando los entornos existentes para comprender los contextos disponibles en tu sistema.

A continuación, explorarás cómo listar las imágenes de Docker asociadas a un entorno específico, lo que te permitirá ver las imágenes disponibles dentro de ese contexto. Finalmente, aprenderás cómo registrar una imagen específica en un entorno para una plataforma en particular, demostrando cómo asociar imágenes con diferentes entornos para una mejor organización y gestión.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/ImageOperationsGroup -.-> docker/images("List Images") subgraph Lab Skills docker/ls -.-> lab-555204{{"Cómo usar el comando docker scout environment para gestionar entornos"}} docker/pull -.-> lab-555204{{"Cómo usar el comando docker scout environment para gestionar entornos"}} docker/images -.-> lab-555204{{"Cómo usar el comando docker scout environment para gestionar entornos"}} end

Listar entornos existentes

En este paso, aprenderemos cómo listar los entornos de Docker existentes en tu sistema. Los entornos de Docker te permiten gestionar diferentes instalaciones o contextos de Docker. Por defecto, tendrás un entorno default (por defecto).

Para listar los entornos de Docker existentes, puedes utilizar el comando docker context ls. Este comando muestra una tabla con información sobre cada entorno, incluyendo su nombre, descripción, punto final de Docker (Docker endpoint) y si es el entorno activo actualmente.

Ejecutemos el comando para ver los entornos disponibles. Abre tu terminal en el directorio ~/project.

docker context ls

Deberías ver una salida similar a esta:

NAME        DESCRIPTION                               DOCKER ENDPOINT                  KUBERNETES ENDPOINT   ORCHESTRATOR
default *   Current DOCKER_HOST environment           unix:///var/run/docker.sock      n/a                   swarm

En esta salida, NAME es el nombre del entorno, DESCRIPTION proporciona una breve descripción, DOCKER ENDPOINT muestra el punto final que está utilizando Docker (en este caso, el socket Unix por defecto), KUBERNETES ENDPOINT es para la integración con Kubernetes (n/a aquí) y ORCHESTRATOR indica el orquestador que se está utilizando (swarm en este caso). El asterisco (*) junto a default indica que es el entorno activo actualmente.

Comprender cómo listar los entornos es el primer paso para gestionar diferentes contextos de Docker, lo cual puede ser útil cuando se trabaja con demonios de Docker remotos o proveedores de servicios en la nube.

Listar imágenes asociadas a un entorno específico

En este paso, aprenderemos cómo listar las imágenes de Docker disponibles dentro de un entorno específico. Las imágenes de Docker son los bloques de construcción de los contenedores, que contienen el código de la aplicación, las bibliotecas y las dependencias.

Para listar las imágenes en el entorno activo actualmente (que es default, como vimos en el paso anterior), puedes utilizar el comando docker images. Este comando muestra una lista de imágenes con su repositorio, etiqueta (tag), ID de imagen, tiempo de creación y tamaño.

Antes de listar las imágenes, descarguemos una imagen de muestra para que tengamos algo que ver en la lista. Descargaremos la imagen hello-world, que es una imagen muy pequeña utilizada para probar las instalaciones de Docker.

docker pull hello-world

Deberías 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

Ahora que tenemos una imagen, listemos las imágenes en el entorno default utilizando el comando docker images.

docker images

Deberías ver una salida similar a esta, incluyendo la imagen hello-world que acabas de descargar:

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

La salida muestra la imagen hello-world con la etiqueta latest, su IMAGE ID único, cuándo se CREATED y su SIZE.

Listar imágenes es una operación fundamental en Docker, que te permite ver qué imágenes están disponibles localmente para crear contenedores.

Registrar una imagen en un entorno para una plataforma específica

En este paso, exploraremos cómo Docker gestiona las imágenes para diferentes plataformas y cómo puedes interactuar con ellas. Aunque "registrar" explícitamente una imagen en un entorno para una plataforma específica no es un comando estándar de Docker como podrías pensar. Las imágenes de Docker a menudo son multi-arquitectura, lo que significa que una única etiqueta de imagen puede contener variantes para diferentes arquitecturas de CPU (como amd64, arm64, etc.). Cuando descargas una imagen, Docker selecciona automáticamente la variante correcta para la arquitectura de tu sistema.

El concepto de "registrar" una imagen en un entorno para una plataforma específica se refiere más a garantizar que la variante correcta de la imagen esté disponible o se utilice. Aunque no la "registras" explícitamente, puedes descargar imágenes especificando una plataforma de destino.

Demostremos cómo descargar una imagen para una plataforma específica. Descargaremos la imagen alpine, que es una distribución Linux ligera, y especificaremos la plataforma arm64. Aunque es probable que nuestra máquina virtual de LabEx sea amd64, Docker todavía puede descargar y almacenar imágenes para otras arquitecturas.

Primero, descarguemos la imagen alpine sin especificar una plataforma para ver el comportamiento predeterminado.

docker pull alpine

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

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

Ahora, listemos las imágenes nuevamente para ver la imagen alpine.

docker images

Verás alpine en la lista.

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    ...            ... ago      ...kB
alpine        latest    ...            ... ago      ...MB

Ahora, intentemos descargar la imagen alpine específicamente para la plataforma arm64 utilizando la opción --platform.

docker pull --platform arm64 alpine

Verás una salida que indique que se está descargando la variante arm64.

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

Aunque la salida puede parecer similar, Docker ha descargado la variante arm64. Si estuvieras en una máquina arm64, esta sería la predeterminada. En una máquina amd64, ahora tienes tanto la variante amd64 (descarga predeterminada) como la arm64 de la imagen alpine:latest almacenadas localmente.

Si bien docker images no muestra explícitamente la plataforma de cada variante de imagen en la lista por defecto, Docker las gestiona internamente. Cuando ejecutas un contenedor, Docker utilizará la variante de imagen adecuada para la arquitectura del host.

Este paso demuestra cómo Docker gestiona las imágenes multi-arquitectura y cómo puedes descargar explícitamente una imagen para una plataforma diferente utilizando la opción --platform.

Resumen

En este laboratorio, aprendimos cómo gestionar entornos de Docker utilizando el comando docker scout environment. Comenzamos listando los entornos de Docker existentes en nuestro sistema utilizando docker context ls, que nos mostró el entorno predeterminado y sus detalles.

A continuación, exploramos cómo listar las imágenes de Docker asociadas a un entorno específico utilizando el comando docker images. Finalmente, aprendimos cómo registrar una imagen en un entorno para una plataforma específica, aunque los pasos detallados para esto no se proporcionaron completamente en el contenido dado.