Vol├║menes dentro de los contenedores de Docker Vol├║menes dentro de los contenedores de Docker

­čąç Vol├║menes dentro de los contenedores de Docker

­čŹ┐ ┬┐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 dento 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.

Redirecci├│n de puertos Docker a nivel t├ęcnico
comments powered by Disqus