Cómo cambiar directorio de trabajo de Docker 17.12 en CentOS 7
Fecha: Ene 13 - 2020
Problema
Se requiere cambiar de ubicación el directorio que usa el servicio docker para almacenar las imágenes y contenedores. La causa más usual es que la ruta por defecto se encuentra en un volumen que está próximo a quedarse sin espacio, y se desea mover el directorio a un volumen con más espacio disponible.
Solución
- Detén los contenedores docker en ejecución en el host
- Detén el proceso de demonio de docker con este comando:
sudoer_user@host# sudo systemctl stop docker
- Crea el nuevo directorio para docker en el filesystem del disco con espacio libre
que quieres usar y luego sincronizalo con el directorio actual de docker. Esto copiará todos los
archivos de docker (imagenes, contenedores, etc.) al nuevo directorio:
ATENCIÓN: Este paso sólo debe realizarse la primera vez que se cambia el directorio. No ejecutar en caso que por una actualización de docker se haya perdido la configuración personalizada de directorio.
sudoer_user@host# sudo mkdir /disk_mount/path/new_docker_dir/
sudoer_user@host# sudo rsync -aqxP /var/lib/docker/ /disk_mount/path/new_docker_dir/
- Modificar configuración del demonio de docker para que tome el directorio creado antes, en lugar
del directorio por defecto. En CentOS 7 debes editar el archivo
/lib/systemd/system/docker.service
.Modifica la línea:
ExecStart=/usr/bin/dockerd
de tal forma que quede así:
ExecStart=/usr/bin/dockerd -g /disk_mount/path/new_docker_dir/
-
Inicia el proceso demonio de docker y verifica la ruta:
usuario_sudoer@host# sudo systemctl daemon-reload
usuario_sudoer@host# sudo systemctl start docker
# Para verificar ejecutar el siguiente comando y verificar que la salida muestra el nuevo directorio de docker:
usuario_sudoer@host# docker info | grep "loop file\|Dir"
- Listo !! Ya puedes iniciar tus contenedores