Menú

Cómo cambiar directorio de trabajo de Docker 17.12 en CentOS 7

Fecha: Ene 13 - 2020 Categoría: Ingeniería de software Escrito por: Seryein Piragua

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

  1. Detén los contenedores docker en ejecución en el host
  2. Detén el proceso de demonio de docker con este comando:

    sudoer_user@host# sudo systemctl stop docker

  3. 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/

  4. 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/

  5. 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"
  6. Listo !! Ya puedes iniciar tus contenedores