Compartir datos entre contenedores
Uno de los grandes beneficios de los volúmenes de Docker es la capacidad de compartir datos entre contenedores. Creemos otro contenedor que utilice el mismo volumen:
docker run -d --name another_container -v my_data:/app/shared_data ubuntu:latest sleep infinity
Este comando es muy similar al que usamos antes, pero le estamos dando al contenedor un nombre diferente y montando el volumen en una ruta diferente dentro del contenedor.
Ahora, verifiquemos que este nuevo contenedor pueda acceder a los datos que creamos anteriormente:
docker exec another_container cat /app/shared_data/test.txt
Deberías ver el mismo mensaje "Hello from Docker volume" que escribimos antes. Esto muestra que ambos contenedores están accediendo a los mismos datos.
Agreguemos más datos desde este nuevo contenedor:
docker exec another_container sh -c "echo 'Data from another container' >> /app/shared_data/test.txt"
Este comando agrega una nueva línea al archivo test.txt
.
Ahora, si verificamos el contenido del archivo desde cualquiera de los contenedores, deberíamos ver ambas líneas:
docker exec my_container cat /app/data/test.txt
Deberías ver tanto "Hello from Docker volume" como "Data from another container" en la salida.
Esto demuestra cómo se pueden usar los volúmenes de Docker para compartir datos entre contenedores, lo cual es increíblemente útil para muchas aplicaciones.