Copiar datos entre el host y el contenedor de Docker

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, nos transportamos a la encantadora Academia Real de Magia, donde asumimos el papel de un Mago Real. Como mago, tenemos la tarea de dominar el arte de la magia de Docker para transportar sin problemas valiosos datos entre los reinos místicos del host y el contenedor. Nuestro objetivo final es utilizar el comando docker cp para transferir datos de ida y vuelta con destreza y precisión.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/VolumeOperationsGroup(["Volume Operations"]) docker/VolumeOperationsGroup -.-> docker/cp("Copy Data Between Host and Container") subgraph Lab Skills docker/cp -.-> lab-271457{{"Copiar datos entre el host y el contenedor de Docker"}} end

Transferencia de datos desde el host al contenedor

En este paso, aprovecharemos el poder de docker cp para transferir un script de hechizo mágico desde el host al contenedor.

  1. Primero, creemos un archivo llamado spell.sh en el directorio del proyecto del host con el siguiente contenido:
#!/bin/bash
echo "Abracadabra! The spell is cast."
  1. Ahora, transferiremos este hechizo al directorio /var dentro de un contenedor Docker en ejecución llamado magic-app utilizando el comando docker cp:
docker cp ~/project/spell.sh magic-app:/var/spell.sh

Recuperación de datos desde el contenedor al host

En este paso, aprovecharemos las habilidades arcano de docker cp para transportar una receta de poción mística desde el contenedor en ejecución de vuelta al host.

  1. Primero, aseguremos que el contenedor magic-app tenga el archivo potion_recipe.txt en su directorio /var utilizando el siguiente comando:
docker exec magic-app /bin/sh -c 'echo "hello" > /var/potion_recipe.txt'
docker exec magic-app ls /var/potion_recipe.txt
  1. Ahora, haremos magia para transferir el archivo potion_recipe.txt desde el directorio /var dentro del contenedor magic-app al directorio del proyecto del host:
docker cp magic-app:/var/potion_recipe.txt ~/project/potion_recipe.txt

Desafío de maestría (Opcional)

Como mago en busca de maestría, acepta el desafío de transferir un directorio completo de artefactos místicos entre el host y el contenedor utilizando el comando docker cp. ¡Asombra a los instructores con tu destreza mágica!

Resumen

En este laboratorio, nos sumergimos en el encantador mundo de la magia de Docker, dominando el arte de copiar sin problemas datos entre el host y el contenedor utilizando el comando docker cp. Al crear un escenario cautivador dentro de la Academia Real de Magia, capacitamos a los futuros magos para que aprovechen esta poderosa habilidad de Docker, asegurándonos de que la puedan utilizar con confianza y destreza.