Cómo usar el comando docker context update para modificar la configuración del contexto

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, exploraremos cómo modificar la configuración de contextos Docker existentes utilizando el comando docker context update. Comenzaremos creando un nuevo contexto Docker para trabajar.

Después de crear el contexto, demostraremos cómo actualizar su descripción y cambiar el endpoint (punto de conexión) de Docker al que se conecta. Finalmente, verificaremos que la configuración del contexto se haya actualizado correctamente. Este ejercicio práctico proporcionará experiencia en la gestión y modificación de contextos Docker para conectarse a diferentes daemons (demonios) de Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/SystemManagementGroup -.-> docker/system("Manage Docker") subgraph Lab Skills docker/ls -.-> lab-555136{{"Cómo usar el comando docker context update para modificar la configuración del contexto"}} docker/inspect -.-> lab-555136{{"Cómo usar el comando docker context update para modificar la configuración del contexto"}} docker/create -.-> lab-555136{{"Cómo usar el comando docker context update para modificar la configuración del contexto"}} docker/system -.-> lab-555136{{"Cómo usar el comando docker context update para modificar la configuración del contexto"}} end

Crear un nuevo contexto Docker

En este paso, aprenderemos cómo crear un nuevo contexto Docker. Un contexto Docker es una forma de gestionar conexiones a diferentes daemons (demonios) de Docker. Por defecto, Docker utiliza el contexto default, que se conecta al daemon Docker local. Sin embargo, puedes crear nuevos contextos para conectarte a daemons Docker remotos u otras plataformas de orquestación de contenedores.

Para crear un nuevo contexto Docker, usamos el comando docker context create. Este comando requiere un nombre para el nuevo contexto y el endpoint (punto de conexión) del daemon Docker al que debe conectarse. Para este laboratorio, crearemos un contexto llamado my-context que se conecte al daemon Docker local.

Abre tu terminal y ejecuta el siguiente comando:

docker context create my-context --docker host=unix:///var/run/docker.sock

Este comando crea un nuevo contexto llamado my-context. La opción --docker host=unix:///var/run/docker.sock especifica que este contexto debe conectarse al daemon Docker a través del socket Unix en /var/run/docker.sock. Esta es la ubicación predeterminada para el socket Docker en la mayoría de sistemas Linux.

Después de ejecutar el comando, deberías ver una salida similar a esta, indicando que el contexto se creó correctamente:

my-context
Successfully created context "my-context"

Ahora que hemos creado el contexto, podemos verificar su existencia listando los contextos disponibles. Usa el comando docker context ls:

docker context ls

Deberías ver una lista de contextos, incluyendo el contexto default y el recién creado my-context. La salida se verá similar a esto:

NAME                DESCRIPTION                               DOCKER ENDPOINT                               KUBERNETES ENDPOINT   ORCHESTRATOR
default *           Current DOCKER_HOST                         unix:///var/run/docker.sock                                           swarm
my-context                                                    unix:///var/run/docker.sock

El asterisco (*) junto a default indica que actualmente es el contexto activo. Aprenderemos cómo cambiar entre contextos en un paso posterior.

Actualizar la descripción del contexto

En este paso, actualizaremos la descripción del contexto Docker que creamos en el paso anterior. Añadir una descripción a un contexto puede ser útil para recordar su propósito, especialmente cuando trabajas con múltiples contextos.

Para actualizar un contexto Docker, utilizamos el comando docker context update. Este comando requiere el nombre del contexto que deseas modificar y las opciones que quieres cambiar. Actualizaremos el contexto my-context añadiéndole una descripción.

Abre tu terminal y ejecuta el siguiente comando:

docker context update my-context --description "My local Docker context"

Este comando actualiza el contexto my-context y establece su descripción como "My local Docker context".

Después de ejecutar el comando, deberías ver una salida similar a esta, confirmando la actualización:

my-context
Successfully updated context "my-context"

Ahora, verifiquemos que la descripción se ha actualizado. Podemos usar nuevamente el comando docker context ls para listar los contextos y ver sus descripciones:

docker context ls

Ahora deberías ver la descripción "My local Docker context" asociada al contexto my-context. La salida se verá así:

NAME                DESCRIPTION                 DOCKER ENDPOINT                               KUBERNETES ENDPOINT   ORCHESTRATOR
default *           Current DOCKER_HOST         unix:///var/run/docker.sock                                           swarm
my-context          My local Docker context     unix:///var/run/docker.sock

Añadir descripciones es una buena práctica para organizar tus contextos Docker.

Actualizar el endpoint Docker del contexto

En este paso, actualizaremos el endpoint Docker asociado a nuestro contexto my-context. Aunque en un escenario real podrías actualizar el endpoint para apuntar a un daemon Docker remoto, para este laboratorio demostraremos el proceso cambiando el endpoint a un formato ligeramente diferente que sigue apuntando al daemon local. Esto muestra cómo modificarías los detalles de conexión cuando sea necesario.

Para actualizar el endpoint Docker, usamos nuevamente el comando docker context update, pero esta vez especificamos la opción --docker host con el nuevo endpoint. Cambiaremos el endpoint de unix:///var/run/docker.sock a unix://var/run/docker.sock (eliminando la barra adicional después de unix:).

Abre tu terminal y ejecuta el siguiente comando:

docker context update my-context --docker host=unix://var/run/docker.sock

Este comando actualiza el contexto my-context y modifica su endpoint Docker.

Después de ejecutar el comando, deberías ver una salida similar a esta, confirmando la actualización:

my-context
Successfully updated context "my-context"

Ahora, verifiquemos que el endpoint Docker se ha actualizado. Podemos usar nuevamente el comando docker context ls para listar los contextos y ver sus endpoints:

docker context ls

Ahora deberías ver el endpoint Docker actualizado unix://var/run/docker.sock asociado al contexto my-context. La salida se verá así:

NAME                DESCRIPTION                 DOCKER ENDPOINT             KUBERNETES ENDPOINT   ORCHESTRATOR
default *           Current DOCKER_HOST         unix:///var/run/docker.sock                                           swarm
my-context          My local Docker context     unix://var/run/docker.sock

Actualizar el endpoint es crucial cuando necesitas cambiar cómo tu contexto Docker se conecta al daemon Docker, como al cambiar de una conexión local a una remota.

Verificar la configuración actualizada del contexto

En este paso final, realizaremos una verificación exhaustiva del contexto my-context para asegurarnos de que tanto la descripción como el endpoint Docker se hayan actualizado correctamente. Utilizaremos el comando docker context inspect, que proporciona información detallada sobre un contexto específico.

Abre tu terminal y ejecuta el siguiente comando:

docker context inspect my-context

Este comando generará un documento JSON con los detalles de configuración de my-context. Buscaremos los campos Description y Docker.Endpoint en esta salida.

La salida debería ser similar a esta (puede variar ligeramente según tu versión de Docker y entorno):

[
  {
    "Name": "my-context",
    "Metadata": {
      "Description": "My local Docker context"
    },
    "Endpoints": {
      "docker": {
        "Host": "unix://var/run/docker.sock"
      }
    },
    "TLSMaterial": {},
    "Storage": "my-context"
  }
]

Examina la salida para confirmar que el campo Description muestra "My local Docker context" y que el campo Docker.Endpoint contiene "unix://var/run/docker.sock". Esto confirma que las actualizaciones realizadas en los pasos anteriores fueron exitosas.

Este paso concluye nuestro laboratorio sobre creación y actualización de contextos Docker. Has aprendido a:

  • Crear un nuevo contexto
  • Añadir una descripción
  • Modificar su endpoint Docker

El manejo de contextos Docker es fundamental para administrar conexiones con diferentes entornos Docker.

Resumen

En este laboratorio, aprendimos cómo crear un nuevo contexto Docker utilizando el comando docker context create, especificando un nombre y el endpoint Docker. Luego verificamos la creación del nuevo contexto listando todos los contextos disponibles con docker context ls.

Posteriormente, exploramos cómo modificar la configuración de un contexto existente usando el comando docker context update. Específicamente, actualizamos la descripción y el endpoint Docker del contexto recién creado. Finalmente, confirmamos que estas actualizaciones se aplicaron correctamente volviendo a listar los contextos y observando los cambios en la salida.