{{tag>sysadmin docker root directory racine}} ====== Modifier le root applicatif du service Docker ====== Par défaut Docker stocke l'ensemble des données dans le répertoire ''/var/lib/docker''. Comme il contient à la fois les images et les volumes nommés, sa taille peut rapidement augmenter. ===== Migration du root applicatif ===== Arrêter le service: systemctl stop docker.service Redéfinir la configuration par défaut via le fichier ''**/etc/docker/daemon.json**'' Afficher la version du daemon docker: /usr/bin/dockerd --version Pour les version antérieures à 17.05.0, utiliser la variable ''**graph**'' { "graph": "/path/to/your/new/docker/root" } Pour les versions 17.05.0 et supérieure, même si ''**graph**'' est encore disponible la documentation recommande l'usage de la variable plus explicite ''**data-root**'' { "data-root": "/path/to/new/docker/daemon-data-root" } Créer la nouvelle racine si besoin et copier l'ancien répertoire racine du service vers la nouvelle destination sudo mkdir -p "/path/to/new/docker/daemon-data-root" chmod 750 "/path/to/new/docker/daemon-data-root" # via cp sudo cp -rp /var/lib/docker/* "/path/to/new/docker/daemon-data-root" # équivalent via rsync sudo rsync -aP /var/lib/docker/ "/path/to/new/docker/daemon-data-root" ===== Test de la nouvelle configuration ===== Renommer l'ancienne racine du service pour s'assurer que le daemon ne l'utilise plus: sudo mv /var/lib/docker /var/lib/docker.bak Redémarrer le service et vérifier la présence des images, des volumes et des conteneurs: sudo systemctl start docker.service docker images docker volume list docker container list -a Si tout est normal, on peut supprimer le dossier /var/lib/docker.bak et son contenu: sudo rm -fr /var/lib/docker.bak ===== Références ===== * https://tienbm90.medium.com/how-to-change-docker-root-data-directory-89a39be1a70b