Es posible cambiar el directorio base de almacenamiento de Docker (donde se guardan las imágenes y los contenedores) usando la opción -g en el arranque del demonio Docker.
- Ubuntu/Debian:
Edita el fichero /etc/default/docker para añadir la opción -g a la variable DOCKER_OPTS:DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"
- Fedora/Centos:
Edita el fichero /etc/sysconfig/docker y añade la opción -g en la variable other_args:other_args="-g /var/lib/testdir"
Si hay más de una opción, asegúrate de englobarlas en " "
. Tras un reinicio (service docker restart) Docker debería usar el nuevo directorio.
Otro método de cambiar el almacenamiento es mediante el uso de enlaces simbólicos.
OJO!!: Estos pasos se basan que que tu directorio /var/lib/docker actual es un directorio real (no un enlace simbólico a otro lugar).
- Detén docker:
service docker stop
- Verifica que no hay ningún proceso docker en ejecución:
ps faux
- Vuelve a comprobar que realmente no existe ningún proceso docker en ejecución.
- Revisa el directorio docker actual:
ls /var/lib/docker/
- Haz una copia de seguridad:
tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date +%s).tar.gz
- Mueve el directorio /var/lib/docker a su nueva ubicación:
mv /var/lib/docker /mnt/pd0/docker
- Crea un enlace simbólico:
ln -s /mnt/pd0/docker /var/lib/docker
- Revisa la estructura del directorio para asegurarte que es la misma que antes de moverlo:
ls /var/lib/docker/
(fíjate en la barra final para resolver el enlace simbólico) - Inicia docker:
service docker start
- Vuelve a arrancar tus contenedores
muy útil, tenia mucho buscando la solución a este problema. Muchas gracias