Docker Volume es una funcionalidad de Docker que permite gestionar y persistir datos en contenedores, facilitando la creación de volúmenes para almacenar información fuera del ciclo de vida de un contenedor. Esto es útil para mantener datos a salvo cuando los contenedores se reinician o eliminan.
En Docker, un volumen es un espacio de almacenamiento persistente que puede vincularse a uno o varios contenedores. A diferencia de los datos que se guardan en el sistema de archivos de un contenedor, los volúmenes permiten que la información persista incluso después de que el contenedor se detenga o elimine. Esto es especialmente importante para aplicaciones que requieren almacenar archivos o configuraciones de manera constante, como bases de datos o archivos de usuario.
Docker ofrece varios comandos para gestionar volúmenes. A continuación, se explican los comandos más comunes:
Comando | Descripción |
---|---|
docker volume create
|
Crea un nuevo volumen con un nombre específico. |
docker volume ls
|
Lista todos los volúmenes disponibles en el sistema Docker. |
docker volume inspect
|
Muestra detalles específicos de un volumen, como su ubicación y configuración. |
docker volume rm
|
Elimina un volumen especificado. |
docker run -v
|
Monta un volumen en un contenedor, permitiendo que el contenedor acceda a ese espacio de datos. |
Para crear un volumen llamado mi_volumen
, usa el siguiente comando:
docker volume create mi_volumen
Puedes montar el volumen mi_volumen
en un contenedor para que acceda a sus datos. En este caso, el contenedor montará el volumen en la ruta /data
:
docker run -d -v mi_volumen:/data nombre_imagen
Para listar todos los volúmenes creados en Docker, utiliza el siguiente comando:
docker volume ls
Puedes inspeccionar un volumen para ver detalles de su configuración y su ubicación en el sistema de archivos:
docker volume inspect mi_volumen
Si ya no necesitas un volumen, puedes eliminarlo con:
docker volume rm mi_volumen
Para más información, consulta la documentación oficial de Docker sobre volúmenes.
Jorge García
Fullstack developer