Contenido del curso
0:00/9:28
Todo lo que aprenderás sobre Docker
02:12Antes de continuar aprendiendo...
Suscríbete para ver másLas tres áreas en el desarrollo de software profesional
Suscríbete para ver másVirtualización
Suscríbete para ver másPreparando tu entorno de trabajo
Suscríbete para ver más[Bonus] Play with Docker
Suscríbete para ver másQué es y cómo funciona Docker
Suscríbete para ver másPrimeros pasos: hola mundo
Suscríbete para ver másConceptos fundamentales de Docker: contenedores
Suscríbete para ver másComprendiendo el estado de Docker
Suscríbete para ver másEl modo interactivo
Suscríbete para ver másCiclo de vida de un contenedor
Suscríbete para ver másExponiendo contenedores
Suscríbete para ver másAdministrando tu ambiente de Docker
Suscríbete para ver másDeteniendo contenedores correctamente: SHELL vs. EXEC
Suscríbete para ver másContenedores ejecutables: ENTRYPOINT vs CMD
Suscríbete para ver másEl contexto de build
Suscríbete para ver másMulti-stage build
Suscríbete para ver másDocker-in-Docker
Suscríbete para ver másGestionar archivos dentro y fuera de un contenedor es una necesidad constante cuando se trabaja con Docker. Más allá de los bind mounts y los volúmenes, existe un comando práctico y directo que permite introducir o extraer archivos de cualquier contenedor, incluso cuando este no está corriendo: docker cp.
¿Cómo funciona docker cp para copiar archivos a un contenedor?
El comando docker cp funciona de manera similar al cp de bash. Recibe dos parámetros principales: el origen y el destino. Dependiendo del orden, podemos meter archivos al contenedor o sacarlos de él.
Para copiar un archivo desde nuestra máquina hacia un contenedor [03:12], el flujo es:
touch prueba.txt.docker run -d --name copy-test ubuntu.docker cp prueba.txt copy-test:/testing/test.txt.El formato después del nombre del contenedor usa dos puntos para indicar la ruta interna donde queremos colocar el archivo. Además, podemos cambiarle el nombre al archivo destino en el mismo comando.
¿Se pueden copiar directorios completos?
Sí. docker cp no se limita a archivos individuales. Para extraer un directorio completo desde un contenedor a nuestra máquina [04:45], simplemente invertimos el orden de los parámetros:
bash docker cp copy-test:/testing local-testing
Esto copia todo el directorio testing del contenedor como local-testing en nuestra máquina. Al listar su contenido, encontramos los mismos archivos que existían dentro del contenedor.
¿Es necesario que el contenedor esté corriendo?
No es necesario. Esta es una característica muy útil de docker cp [05:30]. Basta con que el contenedor exista, aunque esté detenido. Un caso práctico: si un contenedor ejecuta un proceso de build de una aplicación y termina exitosamente generando un binario o artefacto, podemos extraer ese resultado con docker cp sin necesidad de volver a iniciar el contenedor.
¿Cuáles son las tres formas de manejar datos en Docker?
Docker ofrece tres mecanismos principales para gestionar datos, cada uno con su caso de uso específico [06:15]:
¿Para qué sirve un TMPFS mount?
El temporary file system mount resulta útil en escenarios donde necesitamos escribir archivos temporales de gran tamaño que no queremos persistir de ninguna manera [07:20]. Un ejemplo práctico: un proceso que escanea archivos en busca de virus. El archivo se introduce en memoria, se analiza y luego se descarta. Al destruir el contenedor, tenemos la garantía de que esos datos desaparecen por completo.
¿Cuándo usar cada opción de manejo de datos?
La elección depende del contexto:
docker cp para mover archivos o directorios sin necesidad de configurar montajes.Con estas herramientas se cubre prácticamente cualquier necesidad de gestión de datos en Docker. Si ya experimentaste con alguna de estas opciones o tienes un caso de uso particular, comparte tu experiencia en los comentarios.