Cómo usar el comando docker desktop module ls para listar módulos

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 listar los módulos de Docker Desktop utilizando el comando docker version. Exploraremos diferentes formas de visualizar esta información, incluyendo listar todos los módulos, mostrar la salida en formato JSON y extraer únicamente los IDs de los módulos. Este ejercicio práctico te ayudará a comprender los componentes de tu instalación de Docker y cómo obtener información sobre ellos.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/SystemManagementGroup -.-> docker/version("Show Docker Version") subgraph Lab Skills docker/version -.-> lab-555144{{"Cómo usar el comando docker desktop module ls para listar módulos"}} end

Listar todos los módulos de Docker Desktop

En este paso, aprenderemos cómo listar todos los módulos de Docker Desktop utilizando el comando docker version. El comando docker version proporciona información detallada sobre la instalación de Docker, incluyendo los componentes del cliente y servidor, así como los módulos que forman parte de la instalación de Docker Desktop.

Para listar todos los módulos de Docker Desktop, abre tu terminal y ejecuta el siguiente comando:

docker version

Este comando mostrará mucha información sobre tu instalación de Docker. Busca secciones como Client (Cliente) y Server (Servidor). Dentro de estas secciones, encontrarás detalles sobre varios componentes y módulos.

Por ejemplo, la salida podría verse así (el resultado exacto puede variar según tu versión de Docker e instalación):

Client: Docker Engine - Community
 Version:           20.10.21
 API version:       1.41
 Go version:        go1.16.15
 Git commit:        f2213a1
 Built:             Thu Oct 27 00:18:36 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.21
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.15
  Git commit:       3056e8c
  Built:            Thu Oct 27 00:17:23 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.8
  GitCommit:        9cd358bba7fd9c7bb19904ba6d2f58fd60b1ca2b
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

En esta salida, puedes ver información sobre Docker Engine, containerd, runc y docker-init. Estos son algunos de los módulos clave que componen el entorno de Docker. El comando docker version es una herramienta útil para comprender los diferentes componentes de tu instalación de Docker y sus versiones.

Listar módulos de Docker Desktop en formato JSON

En el paso anterior, utilizamos el comando docker version para listar los módulos de Docker Desktop. La salida predeterminada es legible para humanos, pero a veces puedes necesitar la salida en un formato estructurado, como JSON, para scripting o procesamiento adicional.

El comando docker version soporta una bandera --format que te permite especificar el formato de salida usando el paquete text/template de Go. Para obtener la salida en formato JSON, puedes usar la plantilla json ..

Ejecuta el siguiente comando en tu terminal:

docker version --format '{{json .}}'

Este comando mostrará la misma información que docker version, pero formateada como un objeto JSON. La parte {{json .}} es la plantilla que le indica a Docker formatear toda la salida (.) como JSON.

La salida será una sola línea de datos JSON, que podría verse así (formateada para mejor legibilidad):

{
  "Client": {
    "Version": "20.10.21",
    "ApiVersion": "1.41",
    "GoVersion": "go1.16.15",
    "GitCommit": "f2213a1",
    "Built": "Thu Oct 27 00:18:36 2022",
    "OsArch": "linux/amd64",
    "Context": "default",
    "Experimental": true
  },
  "Server": {
    "Engine": {
      "Version": "20.10.21",
      "ApiVersion": "1.41",
      "MinAPIVersion": "1.12",
      "GoVersion": "go1.16.15",
      "GitCommit": "3056e8c",
      "Built": "Thu Oct 27 00:17:23 2022",
      "OsArch": "linux/amd64",
      "Experimental": false
    },
    "Containerd": {
      "Version": "1.6.8",
      "GitCommit": "9cd358bba7fd9c7bb19904ba6d2f58fd60b1ca2b"
    },
    "Runc": {
      "Version": "1.1.4",
      "GitCommit": "v1.1.4-0-g5fd4c4d"
    },
    "DockerInit": {
      "Version": "0.19.0",
      "GitCommit": "de40ad0"
    }
  }
}

Esta salida JSON contiene la misma información que la salida predeterminada, pero en un formato estructurado que es fácil de analizar para programas. Esto es particularmente útil cuando deseas extraer información específica de la salida de docker version en scripts.

Listar solo los IDs de los módulos de Docker Desktop

En los pasos anteriores, aprendimos cómo listar todos los módulos de Docker Desktop y cómo formatear la salida como JSON. Ahora, exploremos cómo extraer solo información específica, como los IDs de commit Git de los módulos. Esto es útil cuando solo necesitas un dato particular para scripting o automatización.

Nuevamente podemos usar la bandera --format con una plantilla personalizada para lograr esto. Al inspeccionar la salida JSON del paso anterior, podemos ver que los IDs de commit Git se encuentran bajo Server.Engine.GitCommit, Server.Containerd.GitCommit, Server.Runc.GitCommit y Server.DockerInit.GitCommit.

Podemos construir una plantilla para extraer estos campos específicos. Ejecuta el siguiente comando en tu terminal:

docker version --format 'Engine GitCommit: {{.Server.Engine.GitCommit}}\nContainerd GitCommit: {{.Server.Containerd.GitCommit}}\nRunc GitCommit: {{.Server.Runc.GitCommit}}\nDockerInit GitCommit: {{.Server.DockerInit.GitCommit}}'

Analicemos la plantilla:

  • Engine GitCommit: {{.Server.Engine.GitCommit}}: Esta parte extrae el valor GitCommit del objeto Engine dentro del objeto Server.
  • \n: Agrega un carácter de nueva línea para separar la salida de cada módulo.
  • Containerd GitCommit: {{.Server.Containerd.GitCommit}}: Extrae el GitCommit para containerd.
  • Runc GitCommit: {{.Server.Runc.GitCommit}}: Extrae el GitCommit para runc.
  • DockerInit GitCommit: {{.Server.DockerInit.GitCommit}}: Extrae el GitCommit para docker-init.

La salida mostrará el ID de commit Git para cada módulo especificado, similar a esto:

Engine GitCommit: 3056e8c
Containerd GitCommit: 9cd358bba7fd9c7bb19904ba6d2f58fd60b1ca2b
Runc GitCommit: v1.1.4-0-g5fd4c4d
DockerInit GitCommit: de40ad0

Esto demuestra el poder de la bandera --format y las plantillas Go para extraer datos específicos de los comandos de Docker. Puedes personalizar la plantilla para extraer cualquier campo disponible en la salida de docker version.

Resumen

En este laboratorio, aprendimos cómo listar los módulos de Docker Desktop utilizando el comando docker version. Exploramos cómo mostrar todos los módulos y sus detalles, lo que proporciona información valiosa sobre los diferentes componentes de la instalación de Docker, como Docker Engine, containerd, runc y docker-init, junto con sus versiones.

También aprendimos cómo listar los módulos de Docker Desktop en formato JSON, lo cual es útil para procesamiento programático e integración con otras herramientas. Finalmente, cubrimos cómo listar solo los IDs de los módulos de Docker Desktop, proporcionando una salida concisa para identificación rápida.