Cómo usar el comando docker context show para mostrar el contexto actual

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 el comando docker context show para mostrar el contexto de Docker activo actualmente. Comenzarás mostrando el contexto predeterminado, que se conecta al demonio (daemon) de Docker local.

A continuación, crearás un nuevo contexto de Docker, cambiarás a este nuevo contexto y verificarás el cambio utilizando docker context show. Finalmente, volverás al contexto predeterminado y explorarás cómo integrar el comando docker context show en tu prompt de shell para una visualización sencilla de tu conexión actual con Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/SystemManagementGroup -.-> docker/info("Display System-Wide Information") docker/SystemManagementGroup -.-> docker/system("Manage Docker") subgraph Lab Skills docker/ls -.-> lab-555135{{"Cómo usar el comando docker context show para mostrar el contexto actual"}} docker/create -.-> lab-555135{{"Cómo usar el comando docker context show para mostrar el contexto actual"}} docker/info -.-> lab-555135{{"Cómo usar el comando docker context show para mostrar el contexto actual"}} docker/system -.-> lab-555135{{"Cómo usar el comando docker context show para mostrar el contexto actual"}} end

Mostrar el contexto predeterminado de Docker

En este paso, aprenderemos cómo mostrar el contexto predeterminado de Docker. Un contexto de Docker es una forma de conectarse a diferentes demonios (daemons) de Docker. Por defecto, Docker utiliza el contexto default, que se conecta al demonio de Docker que se ejecuta en la máquina local.

Para mostrar el contexto actual de Docker, podemos usar el comando docker context show.

docker context show

Deberías ver default como salida, lo que indica que actualmente estás utilizando el contexto predeterminado de Docker.

Crear un nuevo contexto de Docker

En este paso, crearemos un nuevo contexto de Docker. La creación de un nuevo contexto te permite definir parámetros de conexión para un demonio de Docker diferente, que podría estar en una máquina remota o en una configuración local distinta.

Crearemos un contexto llamado my-context que se conecte al demonio de Docker local. Aunque esto pueda parecer redundante para una conexión local, demuestra el proceso de creación de un contexto.

Para crear un nuevo contexto, usamos el comando docker context create seguido del nombre del contexto. También debemos especificar el endpoint para el demonio de Docker usando la bandera --docker. Para un demonio local, el endpoint típicamente es unix:///var/run/docker.sock.

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

Después de ejecutar el comando, deberías ver una salida que indique que el contexto my-context fue creado.

Para verificar que el contexto fue creado, puedes listar todos los contextos disponibles usando el comando docker context ls.

docker context ls

Deberías ver my-context listado en la salida junto con el contexto default.

Cambiar al nuevo contexto de Docker y mostrarlo

En este paso, cambiaremos al nuevo contexto de Docker que creamos en el paso anterior y luego mostraremos el contexto activo actual para confirmar el cambio.

Para cambiar a un contexto diferente de Docker, usamos el comando docker context use seguido del nombre del contexto que queremos utilizar. En nuestro caso, el nombre del contexto es my-context.

docker context use my-context

Deberías ver una salida que confirme que el contexto ha sido cambiado a my-context.

Ahora, mostremos nuevamente el contexto actual de Docker usando el comando docker context show para verificar que efectivamente estamos usando my-context.

docker context show

La salida de este comando ahora debería ser my-context, lo que indica que el cambio se realizó correctamente.

Volver al contexto predeterminado y mostrarlo

En este paso, volveremos al contexto predeterminado de Docker. Esto es útil cuando has estado trabajando con un contexto diferente y deseas regresar al demonio de Docker local estándar.

Para volver al contexto predeterminado, usamos el comando docker context use seguido del nombre del contexto predeterminado, que es default.

docker context use default

Deberías ver una salida que confirme que el contexto ha sido cambiado de vuelta a default.

Ahora, mostremos nuevamente el contexto actual de Docker usando el comando docker context show para verificar que estamos usando nuevamente el contexto default.

docker context show

La salida de este comando ahora debería ser default, lo que confirma que el cambio se realizó correctamente.

Integrar docker context show en el prompt de la terminal

En este paso, integraremos el comando docker context show en tu prompt de terminal. Esto te permitirá ver el contexto actual de Docker directamente en el prompt, facilitando el seguimiento del demonio de Docker con el que estás interactuando.

Modificaremos el archivo .zshrc en tu directorio principal, que es el archivo de configuración para el shell Zsh. Añadiremos una función que obtiene el contexto actual de Docker e incluiremos su salida en la cadena del prompt.

Primero, abre el archivo .zshrc usando el editor nano:

nano ~/.zshrc

Desplázate al final del archivo y añade las siguientes líneas:

## Function to get current Docker context
get_docker_context() {
  docker context show 2> /dev/null
}

## Add Docker context to prompt
PROMPT='$(get_docker_context) %~ %## '

Analicemos estas líneas:

  • get_docker_context(): Define una nueva función de shell llamada get_docker_context.
  • docker context show 2>/dev/null: Dentro de la función, este comando obtiene el contexto actual de Docker. 2>/dev/null redirige cualquier error a /dev/null, evitando que ensucie el prompt si Docker no está ejecutándose o hay algún problema.
  • PROMPT='$(get_docker_context) %~ %## ': Establece la variable de entorno PROMPT, que define la apariencia del prompt.
    • $(get_docker_context): Ejecuta la función e incluye su salida en el prompt.
    • %~: Muestra el directorio actual, abreviando el directorio principal como ~.
    • %#: Muestra # si eres root o % si eres un usuario normal.

Guarda el archivo presionando Ctrl + X, luego Y, y finalmente Enter.

Para aplicar los cambios en la sesión actual, ejecuta:

source ~/.zshrc

Después de esto, tu prompt debería mostrar el contexto actual de Docker (que debería ser default) antes del directorio actual.

Puedes probarlo cambiando nuevamente a my-context:

docker context use my-context

El prompt se actualizará mostrando my-context seguido del directorio actual.

Luego vuelve al contexto predeterminado:

docker context use default

El prompt volverá a mostrar default.

Resumen

En este laboratorio, aprendimos a gestionar contextos de Docker utilizando el comando docker context show. Comenzamos mostrando el contexto predeterminado de Docker, que se conecta al demonio local. Luego creamos un nuevo contexto llamado my-context, demostrando el proceso de definir parámetros de conexión para un demonio diferente, aunque en este ejemplo seguía siendo el mismo demonio local.

Tras la creación, practicamos el cambio al nuevo contexto usando docker context use y verificamos el contexto activo con docker context show. Esta experiencia práctica reforzó nuestra comprensión sobre cómo navegar entre diferentes entornos de Docker y confirmar el punto de conexión actual.