[résolu] Comment modifier l'emplacement de Docker
No space left on device Oups, un code d'erreur encore jamais rencontré apparait dans vos logs.
Votre application Dockerisée ne fonctionne plus correctement, votre serveur indique un problème d'espace disque malgré que vous ayez opté pour une solution d'hébergement plus que suffisante, pas de panique, la solution est simple et ne prend que quelques minutes à régler.
Confirmer le problème d'espace disque (optionnel)
Affichons l'espace disque disponible sur le serveurdf -h
Filesystem Size Used Avail Use% Mounted on
udev 16G 0 16G 0% /dev
tmpfs 3.2G 331M 2.9G 11% /run
/dev/md3 20G 20G 0M 100% /
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/md2 487M 53M 406M 12% /boot
/dev/md4 1.8T 8.1G 1.7T 1% /home
Le disque /dev/md3 monté à la racine du serveur / est plein, tandis que le disque monté en /home lui est quasiment vide.
Nous pouvons maintenant vérifier :
- que Docker est bien installé sur le disque plein
- que Docker est responsable de ce manque de place
docker info
Docker Root Dir: /var/lib/docker
Ce qui confirme que Docker est bien installé sur le disque plein.
Nous vérifions la taille du répertoire Docker
du -sh /var/lib/docker
15G /var/lib/docker/
Docker occupe effectivement les 3/4 de notre disque.
Déplacer le répertoire data de Docker
Stopper Docker
sudo service docker stopCopier le répertoire data de Docker vers un nouveau répertoire sur le disque libre
sudo rsync -aP /var/lib/docker/ /home/nouveau/repertoire/dockerFaire un backup de l'ancien répertoire
sudo mv /var/lib/docker /var/lib/docker.bakAjouter un fichier de configuration pour indiquer à Docker le nouvel emplacement du répertoire data
{
"data-root": "/home/nouveau/repertoire/docker"
}
Redémarrer Docker
sudo service docker startTester que la modification du répertoire docker data a bien été prise en compte
docker info
Docker Root Dir: /home/nouveau/repertoire/docker
Docker indique bien utiliser le nouveau répertoire data.
Puis testez que votre application fonctionne correctement.
- Supprimer le fichier Docker data de sauvegarde
# Une fois que vous avez testé que votre application fonctionnait correctement,
# vous pouvez supprimer le repertoire Docker data
sudo rm -rf /var/lib/docker.bak
Félicitations, vous venez de :
- Déplacer le répertoire docker Data du disque
/au disque/home - Libérer 15G d'espace disque sur
/ - Vous débarasser durablement du problème d'espace disque causé par Docker.