Cómo usar el comando docker context rm para eliminar 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 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).


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/rm("Remove Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/SystemManagementGroup -.-> docker/system("Manage Docker") subgraph Lab Skills docker/ls -.-> lab-555134{{"Cómo usar el comando docker context rm para eliminar contextos"}} docker/rm -.-> lab-555134{{"Cómo usar el comando docker context rm para eliminar contextos"}} docker/create -.-> lab-555134{{"Cómo usar el comando docker context rm para eliminar contextos"}} docker/system -.-> lab-555134{{"Cómo usar el comando docker context rm para eliminar contextos"}} end

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.