Cómo usar el comando docker context ls para listar contextos

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 a utilizar eficazmente el comando docker context ls para gestionar y visualizar tus contextos de Docker. Los contextos de Docker son fundamentales para cambiar fácilmente entre diferentes demonios de Docker, ya sean locales, remotos o basados en la nube.

A través de pasos prácticos, explorarás cómo listar todos los contextos disponibles con información detallada, filtrar la salida para mostrar solo los nombres de los contextos y formatear la salida de diversas maneras, incluyendo JSON y el uso de plantillas personalizadas. Esto te proporcionará las habilidades necesarias para identificar y comprender rápidamente tus entornos de Docker configurados.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") subgraph Lab Skills docker/ls -.-> lab-555133{{"Cómo usar el comando docker context ls para listar contextos"}} end

Listar todos los contextos de Docker

En este paso, aprenderás cómo listar todos los contextos de Docker disponibles utilizando el comando docker context ls. Los contextos de Docker te permiten cambiar fácilmente entre diferentes demonios de Docker, ya sea que estén ejecutándose localmente, en una máquina remota o en un entorno en la nube.

Para listar todos los contextos de Docker, abre tu terminal y ejecuta el siguiente comando:

docker context ls

Este comando mostrará una tabla con información sobre cada contexto de Docker, incluyendo su nombre, descripción, endpoint y si es el contexto actual.

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

El contexto default es el que se crea automáticamente al instalar Docker y apunta al demonio de Docker local.

Listar solo los nombres de contextos de Docker

En el paso anterior, listaste todos los contextos de Docker con información detallada. En ocasiones, es posible que solo necesites ver los nombres de los contextos. Puedes lograrlo utilizando la bandera --format con el comando docker context ls.

La bandera --format te permite especificar el formato de salida usando el paquete text/template de Go. Para listar solo los nombres, puedes usar la plantilla {{.Name}}.

Ejecuta el siguiente comando en tu terminal:

docker context ls --format "{{.Name}}"

Este comando mostrará únicamente los nombres de los contextos de Docker, un nombre por línea.

Deberías ver una salida similar a esta:

default

Esto resulta útil cuando deseas ver rápidamente los nombres de contextos disponibles, ya sea para scripting o procesamiento posterior.

Formatear la lista de contextos de Docker como JSON

Además de listar los nombres o usar el formato de tabla predeterminado, también puedes formatear la salida de docker context ls como JSON. Esto es particularmente útil cuando necesitas procesar la información de los contextos de manera programática.

Para formatear la salida como JSON, utiliza la bandera --format con el valor json.

Ejecuta el siguiente comando en tu terminal:

docker context ls --format json

Este comando generará un arreglo JSON, donde cada elemento del arreglo representa un contexto de Docker.

Deberías ver una salida similar a esta:

[
  {
    "Name": "default",
    "Current": true,
    "Endpoint": "unix:///var/run/docker.sock",
    "Description": "Current DOCKER_HOST environment",
    "DockerEndpoint": "unix:///var/run/docker.sock",
    "KubernetesEndpoint": "",
    "Orchestrator": "swarm"
  }
]

La salida JSON proporciona una forma estructurada de acceder a todos los detalles de cada contexto de Docker.

Formatear la lista de contextos de Docker usando una plantilla personalizada

En los pasos anteriores, viste cómo listar todos los contextos, solo sus nombres y formatear la salida como JSON. La bandera --format es muy potente y te permite definir plantillas de salida personalizadas usando la sintaxis text/template de Go.

Puedes especificar qué campos mostrar y cómo formatearlos. Por ejemplo, vamos a listar el nombre del contexto y su descripción en un formato personalizado. Los campos disponibles que puedes usar en la plantilla son Name, Description, DockerEndpoint, KubernetesEndpoint y Orchestrator.

Ejecuta el siguiente comando en tu terminal:

docker context ls --format "Context Name: {{.Name}}, Description: {{.Description}}"

Este comando utiliza una plantilla personalizada para mostrar el nombre y la descripción de cada contexto.

Deberías ver una salida similar a esta:

Context Name: default, Description: Current DOCKER_HOST environment

Puedes crear plantillas más complejas para incluir otros campos o formatear la salida de manera diferente según tus necesidades. Esta flexibilidad es muy útil para scripting e integrar información de contextos de Docker en otras herramientas.

Resumen

En este laboratorio, aprendiste a usar el comando docker context ls para listar contextos de Docker. Comenzaste listando todos los contextos disponibles con información detallada, incluyendo su nombre, descripción, endpoint y orquestador. Luego exploraste cómo listar solo los nombres de los contextos usando la bandera --format "{{.Name}}", lo cual es útil para referencias rápidas o scripting. Finalmente, aprendiste a formatear la salida como JSON usando la bandera --format json, proporcionando una salida estructurada adecuada para consumo programático.