Introducción
En este laboratorio, aprenderás a gestionar contextos de Docker, centrándote específicamente en su eliminación. Comenzarás creando un nuevo contexto de Docker para comprender el proceso de agregar contextos. Luego, aprenderás a listar los contextos existentes para ver las configuraciones disponibles e identificar el contexto activo actual. El núcleo del laboratorio consistirá en usar el comando docker context rm para eliminar un contexto específico. Finalmente, explorarás el comportamiento al intentar eliminar el contexto activo actual sin forzar y luego eliminarlo con éxito utilizando la opción de forzar (force).
Crear un nuevo contexto de Docker
En este paso, aprenderemos cómo crear un nuevo contexto de Docker. Un contexto de Docker es una forma de gestionar conexiones a diferentes daemons de Docker. Por defecto, Docker utiliza el contexto default, que se conecta al daemon local de Docker. Puedes crear nuevos contextos para conectarte a daemons remotos de Docker u otras herramientas de orquestación.
Para crear un nuevo contexto de Docker, utilizamos el comando docker context create. La sintaxis básica es docker context create <nombre_del_contexto>. Vamos a crear un nuevo contexto llamado my-context.
docker context create my-context
Después de ejecutar el comando, deberías ver una salida que indique que el contexto se creó correctamente.
my-context
Successfully created context "my-context"
Este comando crea un nuevo archivo de configuración de contexto en tu directorio de configuración de Docker. Este contexto actualmente apunta al mismo daemon local de Docker que el contexto default. En pasos posteriores, exploraremos cómo configurar contextos para conectarse a diferentes entornos de Docker.
Listar contextos existentes de Docker
En este paso, aprenderemos cómo listar los contextos existentes de Docker. Esto es útil para ver qué contextos están disponibles y cuál es el actualmente activo.
Para listar los contextos de Docker, utilizamos el comando docker context ls.
docker context ls
Después de ejecutar el comando, deberías ver una tabla que enumera los contextos disponibles. La salida incluirá el nombre del contexto, descripción, endpoint y si es el contexto actual. Deberías ver el contexto default y el my-context que creamos en el paso anterior. El símbolo * junto al nombre de un contexto indica que es el contexto activo actual.
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default * Current DOCKER_HOST environment unix:///var/run/docker.sock
my-context Docker context "my-context" unix:///var/run/docker.sock
Este comando te ayuda a llevar un seguimiento de los diferentes entornos de Docker a los que puedes conectarte.
Eliminar un contexto específico de Docker
En este paso, aprenderemos cómo eliminar un contexto específico de Docker. Esto es útil para limpiar contextos que ya no son necesarios.
Para eliminar un contexto de Docker, usamos el comando docker context rm seguido del nombre del contexto que deseas eliminar. Vamos a eliminar el contexto my-context que creamos en los pasos anteriores.
docker context rm my-context
Después de ejecutar el comando, deberías ver una salida que confirme la eliminación del contexto.
my-context
Ahora, listemos nuevamente los contextos para confirmar que my-context ha sido eliminado.
docker context ls
La salida ahora debería mostrar únicamente el contexto default.
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default * Current DOCKER_HOST environment unix:///var/run/docker.sock
Esto demuestra cómo eliminar un contexto específico de Docker.
Intentar eliminar el contexto actual de Docker sin forzar
En este paso, intentaremos eliminar el contexto de Docker actualmente activo sin usar la opción de forzar. Esto demostrará el comportamiento de Docker al intentar eliminar un contexto que está en uso.
Primero, confirmemos el contexto actual.
docker context ls
Deberías ver que el contexto default está marcado con un asterisco (*), lo que indica que es el contexto actual.
Ahora, intentemos eliminar el contexto default usando el comando docker context rm.
docker context rm default
Es probable que veas un mensaje de error similar a este:
Error: context "default" is currently in use
Este error ocurre porque Docker evita que elimines el contexto actualmente activo para evitar interrumpir tus operaciones actuales con Docker. Para eliminar el contexto actual, necesitas usar la opción de forzar, que cubriremos en el siguiente paso.
Forzar la eliminación del contexto actual de Docker
En este paso, aprenderemos cómo forzar la eliminación del contexto de Docker actualmente activo. Como vimos en el paso anterior, no se puede eliminar el contexto actual sin usar la opción de forzar.
Para forzar la eliminación del contexto actual de Docker, usamos el comando docker context rm con el flag -f o --force, seguido del nombre del contexto. Vamos a forzar la eliminación del contexto default.
docker context rm -f default
Después de ejecutar el comando, deberías ver una salida que confirme la eliminación del contexto.
default
Ahora, listemos nuevamente los contextos para confirmar que el contexto default ha sido eliminado.
docker context ls
Es probable que veas un mensaje indicando que no hay contextos disponibles, o que Docker ha cambiado a un contexto predeterminado diferente si existe alguno. En este entorno, eliminar el contexto default resultará en un error al intentar listar los contextos posteriormente, ya que no hay un contexto activo.
Error: No contexts available. Create a context, or use --help for more information.
Esto demuestra cómo forzar la eliminación del contexto actual de Docker.
Resumen
En este laboratorio, aprendimos a gestionar contextos de Docker. Comenzamos creando un nuevo contexto llamado my-context usando el comando docker context create, lo que nos permite definir conexiones a diferentes daemons de Docker. Luego utilizamos el comando docker context ls para listar los contextos disponibles, observando el recién creado my-context junto al contexto predeterminado e identificando el contexto actualmente activo marcado con un asterisco.
El laboratorio continúa demostrando cómo eliminar un contexto específico de Docker usando docker context rm. También exploraremos el comportamiento al intentar eliminar el contexto activo sin la opción de forzar y finalmente aprenderemos cómo forzar la eliminación del contexto actual de Docker.



