Para generar un respaldo se debe primero ingresar a docker y para ello primero debemos conocer a qué contenedor nos conectaremos con el comando ps:
#docker ps
Se obtendrá un resultado parecido al siguiente:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
IDCONTENEDOR mysql:8.0.32-debian “docker-entrypoint.s…” 14 months ago Up 14 months 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp NOMBRECONTENEDOR
De este resultado es importante el IDCONTENEDOR , que lo utilizaremos para ingresar al mismo con el siguiente comando:
root@equipo#docker exec -it IDCONTENEDOR /bin/bash
Ahora que nos encontramos dentro del contenedor el comand pront cambiará de la siguiente manera: root@IDCONTENEDOR, e ingresaremos el siguiente comando mysqldump, aquí es importante utilizar el parámetro –no-tablespaces para no tener problema de privilegios:
root@IDCONTENEDOR:/# mysqldump -u usuario –no-tablespaces -p’password’ basedatos > /rutadocker/respaldos/database_20240505.sql
Salimos del contenedor
root@IDCONTENEDOR:/#exit
Copiamos el respaldo del contenedor al equipo.
root@equipo#docker cp IDCONTENEDOR:/rutadocker/respaldos/database_20240505.sql /ruta/del/equipo/database_20240505.sql
Listo, y el respaldo estará en la ruta donde guardamos el respaldo!!