Cómo usar el comando docker context import para importar un 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, aprenderás a utilizar eficazmente el comando docker context import. Comenzaremos creando y exportando un contexto de Docker a un archivo, demostrando cómo empaquetar tus configuraciones de contexto.

Después de la exportación, practicarás la importación de este contexto de vuelta a Docker, tanto desde el archivo exportado como directamente desde la entrada estándar (standard input). Finalmente, verificarás que el contexto importado sea reconocido correctamente y esté disponible para su uso dentro de tu entorno Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/rm("Remove Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") subgraph Lab Skills docker/ls -.-> lab-555131{{"Cómo usar el comando docker context import para importar un contexto"}} docker/ps -.-> lab-555131{{"Cómo usar el comando docker context import para importar un contexto"}} docker/rm -.-> lab-555131{{"Cómo usar el comando docker context import para importar un contexto"}} docker/create -.-> lab-555131{{"Cómo usar el comando docker context import para importar un contexto"}} end

Crear y exportar un contexto de Docker

En este paso, aprenderemos cómo crear un contexto de Docker y exportarlo a un archivo. Un contexto de Docker es una forma de gestionar conexiones a diferentes daemons de Docker. Por defecto, Docker se conecta al daemon local. Sin embargo, puedes crear contextos para conectarte a daemons remotos u otros entornos como Docker Swarm o Kubernetes.

Primero, creemos un nuevo contexto de Docker llamado my-context. Configuraremos este contexto para conectarse al daemon local predeterminado de Docker.

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

Este comando crea un nuevo contexto llamado my-context y especifica que el host de Docker sea el socket Unix predeterminado para el daemon local.

A continuación, exportaremos este contexto recién creado a un archivo llamado my-context.tar.gz.

docker context export my-context -o ~/project/my-context.tar.gz

Este comando exporta el my-context a un archivo tar.gz ubicado en tu directorio ~/project. La bandera -o especifica la ruta del archivo de salida.

Puedes verificar que el archivo se ha creado listando el contenido del directorio ~/project.

ls ~/project/

Deberías ver my-context.tar.gz listado en la salida.

Importar el contexto exportado desde un archivo

En el paso anterior, exportamos un contexto de Docker a un archivo llamado my-context.tar.gz. En este paso, importaremos este contexto de vuelta a Docker desde el archivo.

Antes de importar, eliminemos el contexto my-context existente para simular la importación de un contexto que actualmente no existe.

docker context rm my-context

Este comando elimina el contexto de Docker llamado my-context. Puedes verificar que se ha eliminado listando los contextos nuevamente.

docker context ls

No deberías ver my-context en la lista.

Ahora, importemos el contexto desde el archivo ~/project/my-context.tar.gz.

docker context import my-context-from-file ~/project/my-context.tar.gz

Este comando importa el contexto desde el archivo especificado y nombra el contexto importado como my-context-from-file.

Una vez completada la importación, puedes listar los contextos de Docker nuevamente para ver el contexto recién importado.

docker context ls

Ahora deberías ver my-context-from-file en la lista de contextos.

Importar el contexto exportado desde stdin

En el paso anterior, importamos un contexto de Docker desde un archivo. Otra forma de importar un contexto es canalizando los datos del contexto exportado directamente al comando docker context import a través de la entrada estándar (stdin). Esto es útil cuando deseas importar un contexto sin guardarlo primero en un archivo.

Primero, eliminemos el contexto que importamos en el paso anterior para evitar conflictos.

docker context rm my-context-from-file

Ahora, usaremos el comando cat para leer el contenido del archivo my-context.tar.gz y canalizarlo al comando docker context import.

cat ~/project/my-context.tar.gz | docker context import my-context-from-stdin -

En este comando, cat ~/project/my-context.tar.gz lee el contenido del archivo. El símbolo de tubería | envía la salida del comando cat como entrada al comando docker context import. El - al final del comando docker context import le indica que lea los datos del contexto desde la entrada estándar. Estamos nombrando el contexto importado como my-context-from-stdin.

Una vez que el comando finalice, puedes listar los contextos de Docker para verificar que el contexto se haya importado desde stdin.

docker context ls

Ahora deberías ver my-context-from-stdin en la lista de contextos.

Verificar el contexto importado

En los pasos anteriores, creamos, exportamos y luego importamos un contexto de Docker utilizando dos métodos diferentes: desde un archivo y desde la entrada estándar. En este paso final, verificaremos que el contexto importado sea funcional y pueda usarse para interactuar con el demonio de Docker.

Primero, listemos los contextos disponibles para confirmar que tanto my-context-from-file como my-context-from-stdin estén presentes.

docker context ls

Deberías ver ambos contextos listados en la salida.

Ahora, cambiemos al contexto que importamos desde la entrada estándar, my-context-from-stdin.

docker context use my-context-from-stdin

Este comando establece el contexto actual de Docker como my-context-from-stdin. Cualquier comando posterior de Docker ahora usará este contexto para conectarse al demonio de Docker.

Para verificar que el contexto funciona correctamente, ejecutemos un comando simple de Docker, como listar los contenedores en ejecución. Como nos estamos conectando al demonio local de Docker, este comando debería mostrar la misma salida que ejecutar docker ps sin especificar un contexto.

docker ps

Si el contexto está configurado correctamente, este comando debería ejecutarse con éxito y mostrar la lista de contenedores en ejecución (si hay alguno).

Finalmente, volvamos al contexto predeterminado.

docker context use default

Este comando cambia el contexto actual de Docker de vuelta al demonio local predeterminado.

Resumen

En este laboratorio, aprendimos a gestionar contextos de Docker mediante su creación, exportación e importación. Comenzamos creando un nuevo contexto de Docker llamado my-context configurado para conectarse al demonio local, y luego exportamos este contexto a un archivo tar.gz.

Después de la exportación, practicamos la importación del contexto nuevamente en Docker. Primero eliminamos el contexto original para simular la importación de uno nuevo, y luego importamos exitosamente el contexto desde el archivo creado previamente usando el comando docker context import, asignándole un nuevo nombre para distinguirlo.