Trabajar con el sistema de archivos de Docker
Comprender el sistema de archivos de Docker es fundamental para administrar y interactuar de manera efectiva con los contenedores. Los contenedores Docker tienen su propio sistema de archivos, que es independiente del sistema de archivos del sistema operativo del host.
Capas del sistema de archivos de Docker
Las imágenes Docker se crean utilizando una serie de capas de solo lectura, donde cada capa representa un cambio en el sistema de archivos. Cuando se crea un contenedor a partir de una imagen, se agrega una nueva capa de lectura y escritura encima de las capas de la imagen, lo que permite al contenedor modificar archivos sin afectar la imagen subyacente.
graph TB
A[Docker Image] --> B[Read-Only Layers]
B --> C[Read-Write Layer]
C --> D[Docker Container]
Acceder al sistema de archivos del contenedor
Para acceder al sistema de archivos de un contenedor Docker en ejecución, puede utilizar el comando docker exec
. Este comando le permite ejecutar comandos dentro de un contenedor en ejecución, incluyendo la navegación por el sistema de archivos.
## Run a container
docker run -d --name my-container ubuntu:latest
## Access the container's file system
docker exec -it my-container /bin/bash
Una vez dentro del contenedor, puede navegar por el sistema de archivos utilizando comandos estándar de Linux, como ls
, cd
y cat
.
Copiar archivos entre el host y el contenedor
Puede copiar archivos entre el sistema host y un contenedor en ejecución utilizando el comando docker cp
.
## Copy a file from the host to the container
docker cp /path/on/host my-container:/path/in/container
## Copy a file from the container to the host
docker cp my-container:/path/in/container /path/on/host
Esto le permite transferir fácilmente archivos y datos entre el host y el contenedor, lo que facilita los flujos de trabajo de desarrollo y despliegue.
Persistir datos con volúmenes
Los volúmenes Docker proporcionan una forma de persistir datos más allá de la vida útil de un contenedor. Los volúmenes se almacenan fuera del sistema de archivos del contenedor y se pueden compartir entre contenedores o adjuntar al sistema de archivos del host.
## Create a volume
docker volume create my-volume
## Run a container with a volume
docker run -d --name my-container -v my-volume:/app ubuntu:latest
Al utilizar volúmenes, puede asegurarse de que los datos importantes no se pierdan cuando se detenga o elimine un contenedor, lo que lo convierte en un aspecto crucial al trabajar con el sistema de archivos de Docker.