Por defecto, Docker almacena la mayoría de sus datos dentro del directorio /var/lib/docker en los sistemas basados en GNU/Linux. Puede llegar un momento en el que tengas la necesidad de mover este directorio a otro lugar por algún motivo.
Por ejemplo, que tengas /var en una partición y te estés quedando sin espacio y necesites mover todo a otra ruta. En este tutorial, explicaremos como cambiar el directorio de Docker a otra ubicación.
Parar el servicio de Docker
Lo primero que tenemos que hacer, es detener la ejecución de Docker. Para luego así poder hacer cambios en el servicio de SystemD.
systemctl stop docker.service
systemctl stop docker.socket
Modificar el fichero de SystemD de Docker
A continuación tendremos que modificar el fichero /lib/systemd/system/docker.service para reconfigurar lo siguiente:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sockPor esto:
ExecStart=/usr/bin/dockerd -g /virtual/docker -H fd:// --containerd=/run/containerd/containerd.sockSi nos fijamos, hemos añadido el parámetro -g para configurar el nuevo directorio de Docker. En este caso hemos seleccionado /virtual/docker.
Si fuera necesario, crearemos el directorio que hemos configurado por si no existiera en nuestro sistema de ficheros.
mkdir -p /virtual/dockerSincronizamos datos
Ahora que tenemos el nuevo directorio preparado, vamos a copiar los ficheros de /var/lib/docker al nuevo directorio.
rsync -aqxP /var/lib/docker/ /virtual/dockerIniciamos Docker con la nueva configuración
Finalmente, iniciaremos de nuevo Docker con la nueva configuración, esta vez, con nuestro directorio recién reconfigurado:
systemctl daemon-reload
systemctl start dockerTras iniciarlo, podremos comprobar con este comando que se está ejecutando con el nuevo directorio:
# ps aux | grep -i docker | grep -v grep
root 14169 0.0 0.4 2267048 74472 ? Ssl 16:57 0:00 /usr/bin/dockerd -g /virtual/docker -H fd:// --containerd=/run/containerd/containerd.sockYa tenemos Docker arrancado en el nuevo directorio y funcionando correctamente. Recuerda, que tras comprobar que todo funciona correctamente, puedes proceder a eliminar el directorio antiguo:
rm -rf /var/lib/docker
Comentarios