¿Cómo listar los volumen de los contenedores de Docker?
Para listar los volúmenes que se encuentran disponibles en el sistema utilizamos el comando ls
.
docker volume ls
En mi caso se han listado los siguientes volúmenes…
DRIVER VOLUME NAME
local 94d333b9d856663d0351b471cfbf60cbd17c8b7d5c466b159b9a0c7dbcbeecde
local b8f714c6945b1fcc4ee60cd6d6200dbbd0423d25e039144940be807737c24e40
local b553df295b71d141257722c25a372f32be1206598d675c2f6fee3003c27da62b
¿Cómo crear un volumen en Docker?
Para crear un volumen utilizamos el comando create
.
docker volume create nombre_del_volumen
¿Cómo obtener mas información de un volumen en Docker?
Si deseamos obtener mas información acerca de un volumen de Docker podemos utilizar el comando inspect
.
docker volume inspect mivolumen
Esta es la información de un volumen que he creado con el nombre de mivolumen
.
[
{
"CreatedAt": "2020-12-18T20:41:36-05:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/mivolumen/_data",
"Name": "mivolumen",
"Options": {},
"Scope": "local"
}
]
¿Cómo montar un volumen dentro de un contenedor Docker?
Para montar un volumen dentro de un contenedor lo primero que requerimos es crear un contenedor. Para ello usamos el comando container run
.
docker container run -d --name micontenedor --mount source=mivolumen,target=/app nginx
Una ves que arranque nuestro contenedor podemos observar los detalles de este y como el volumen se encuentra montado.
docker volume inspect mivolumen
"Mounts": [
{
"Type": "volume",
"Name": "mivolumen",
"Source": "/var/lib/docker/volumes/mivolumen/_data",
"Destination": "/app",
"Driver": "local",
"Mode": "z",
"RW": true,
"Propagation": ""
}
],
Si intentamos listar el contenido del directorio nos daremos cuenta que se encuentra vacío.
sudo ls /var/lib/docker/volumes/mivolumen/_data
Ahora vamos a entrar al contenedor, crear un archivo dentro de “/app” y salir del contenedor.
docker container exec -it micontenedor sh
cd /app
echo "hola mundo" >> holamundo.txt
exit
Al salir del contenedor volvemos a listar el contenido del directorio del volumen nos mostrará el archivo dentro del volumen.
sudo ls /var/lib/docker/volumes/mivolumen/_data
Los datos almacenados en volúmenes de Docker son persistentes, por lo cual aún si borramos el contenedor, podremos volver a montar uno nuevo sobre el mismo volumen y recuperar los datos que ahí han sido grabados.