Duplicar Volúmenes en Docker
Consejo Breve
Cuando estás trabajando con contenedores de base de datos que guardan datos en un Volumen de Docker es probable que necesites duplicarlos ya sea porque quieres clonar un contenedor o debido a que tienes que create un respaldo de seguridad de los datos previo a alguna prueba.
Veamos cómo podemos duplicar un volumen:
Crear un Nuevo Volumen
Primero necesitamos crear un nuevo volumen:
pato@patocontainer ~ $ docker volume create --name patovolsave
patovolsave
Duplicae Copiando el Contenido
Para hacer la copia vamos a ejecutar un contenedor temporal --rm
usando el linux ligero alpine
.
Ahí vamos a montar el volumen origen y el volumen destino y copiaremos todo el contenido de un directorio hacia el otro:
pato@patocontainer ~ $ docker run --rm -i -t -v patovoldb:/origen -v patovolsave:/destino alpine sh -c "cp -avr /origen/* /destino"
'/origen/aria_log.00000001' -> '/destino/aria_log.00000001'
'/origen/aria_log_control' -> '/destino/aria_log_control'
...
pato@patocontainer ~ $ docker volume ls
DRIVER VOLUME NAME
local patovoldb
local patovolsave
Y eso es todo, ahora tenemos un nuevo volumen duplicado del original!