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.
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.



