Ir al contenido principal

Cloud & IaaS — Crear y gestionar volúmenes Docker

L
Escrito por Luciana Parente

Aplica a: Cloud Server con Docker instalado · Tiempo estimado: lectura


¿Qué vas a lograr?

Crear volúmenes Docker para persistir datos independientemente de los contenedores, usarlos al crear contenedores y eliminarlos cuando ya no los necesitás.


Qué son los volúmenes Docker

Los volúmenes son la forma recomendada para garantizar la persistencia de datos en Docker — incluso al eliminar un contenedor, el volumen y su contenido se conservan. Son administrados completamente por Docker y tienen ventajas sobre los bind mounts: soporte para cifrado, posibilidad de compartirse entre contenedores, facilidad para hacer backups y soporte para hosts remotos.


Crear un volumen

docker volume create

Ejemplo: para crear un volumen con el nombre webvol se utiliza el siguiente comando

docker volume create webvol

Listar e inspeccionar volúmenes

docker volume ls

Para ver los detalles de un volumen específico:

docker volume inspect webvol

El campo más relevante es Mountpoint, que indica el directorio del host donde Docker almacena los datos del volumen — por ejemplo /var/lib/docker/volumes/webvol/_data.


Agregar contenido a un volumen

Podés escribir directamente en el directorio Mountpoint:

sh -c "echo 'Hola desde un volumen' > /var/lib/docker/volumes/webvol/_data/index.html"

Crear un contenedor usando el volumen

La opción --mount monta el volumen en el directorio especificado dentro del contenedor:

docker container run --name=webserver --publish 8080:80 --detach --restart=always --mount source=webvol,destination=/usr/share/nginx/html nginx

Podés verificar que el contenedor esté corriendo con docker container ls y acceder desde el navegador a IP-DEL-SERVIDOR:8080. Si no podés acceder, verificá que el puerto 8080 esté habilitado en el Firewall del Cloud Server.

El volumen persiste al eliminar el contenedor

Al detener y eliminar el contenedor, el volumen queda intacto:

docker container stop webserver

docker rm webserver

docker volume ls # el volumen sigue disponible

Podés crear un nuevo contenedor montando el mismo volumen y el contenido estará disponible exactamente igual.


Eliminar un volumen

Antes de eliminar un volumen, necesitás detener y eliminar todos los contenedores que lo usen:

docker container stop webserver2

docker rm webserver2

docker volume rm webvol

Para eliminar todos los volúmenes que no estén siendo usados por ningún contenedor:

docker volume prune

¿Ha quedado contestada tu pregunta?