Esta guía está muy inspirada en el artículo Friends Don't Let Friends Run Docker on Loopback in Production, de muy recomendada lectura.
Es importante: vas a perder todos tus datos de Docker (imágenes, contenedores, volúmenes). Respalda todo antes.
Al meollo
Primero, detén Docker y borra todos los datos de almacenamiento que tenga:
# systemctl stop docker # rm -Rf /var/lib/docker
Edita /etc/sysconfig/docker-storage
para decirle a Docker que quieres
usar el motor overlay2
si usas Linux >= 4.0 y Docker >= 1.12. Si
no, usa overlay
, que no es compatible, pero el día de mañana solo tendrás
que volver a borrar todo, cambiar el driver y reiniciar el demonio Docker.
DOCKER_STORAGE_OPTIONS="--storage-driver overlay2 "
Edita /etc/sysconfig/docker
para desactivar SELinux en Docker, ya que
hasta Linux 4.9 y una versión futura de Docker, no soportará los drivers overlay:
OPTIONS='--selinux-enabled=false [otras opciones]'
Borra todo lo que te creó el antiguo docker-storage-setup
(el thin pool
LVM y todo ese rollo). Los comandos difieren según lo tuvieras configurado, en mi caso
fueron:
# lvm lvremove fedora/docker-pool
Ahora crea un nuevo volúmen LVM:
# lvm lvcreate --name docker --extents 100%FREE fedora # mkfs.ext4 /dev/mapper/fedora-docker
Configura tu ordenador para montarlo en /var/lib/docker
, añadiendo a
/etc/fstab
esta línea:
/dev/mapper/fedora-docker /var/lib/docker auto nosuid,nodev,nofail 0 0
Móntalo y arranca Docker de nuevo:
# mount /dev/mapper/fedora-docker # systemctl start docker
Comprueba que todo funciona:
$ docker run --rm hello-world