Skip to main content

Docker emplacement

En remerciant : https://github.com/IronicBadger/til/blob/master/docker/change-docker-root.md#option-3---createmodify-a-json-config-file-even-better-way

Modifier le répertoire racine de Docker à l'aide de systemd

Le répertoire racine de Docker est généralement quelque chose comme /var/lib/docker par défaut. Voici comment le modifier à l'aide d'un fichier .service de systemd.

Trouvez votre répertoire racine actuel en utilisant docker info.

$ docker info
    Root Dir: /var/lib/docker/aufs


Changer le répertoire racine de Docker en utilisant systemd

Puisque nous utilisons systemd, modifier la balise DOCKER-OPTS dans /etc/default/docker pour inclure -g /new/root/dir ne va pas fonctionner. Il y a deux options, toutes deux nécessitent de modifier votre fichier docker.service.

Astuce de pro : systemctl status docker.service affichera l'emplacement de ce fichier en haut de la sortie.

● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)


Créer/modifier un fichier de configuration json

Cette option est préférable car elle ne modifie que le répertoire racine de docker et rien d'autre. Ouvrez ou créez /etc/docker/daemon.json et remplissez-le avec :

{
    "data-root" : "/new/docker/root"
}
  • systemctl daemon-reload
  • systemctl restart docker
  • docker info - vérifie que le répertoire racine a été mis à jour


Remarque - Conteneurs et images existants
Si vous avez déjà des conteneurs ou des images dans /var/lib/docker, vous pouvez souhaiter les arrêter et les sauvegarder avant de les déplacer vers le nouvel emplacement racine. Le déplacement peut être fait par rsync -a /var/lib/docker/* /path/to/new/root ou si les permissions ne sont pas importantes, vous pouvez simplement utiliser mv ou cp.