Réponses:
Je crois que dans ce guide, vous aurez une bonne explication.
Vous pouvez modifier le répertoire de base de stockage de Docker (où vont le conteneur et les images) en utilisant l'option -g lors du démarrage du démon Docker.
Ubuntu / Debian: modifiez votre
/etc/default/dockerfichier avec l'-goption:DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"Fedora / Centos: éditez
/etc/sysconfig/dockeret ajoutez l'-goption dans la variable other_args: ex.other_args="-g /var/lib/testdir". S'il existe plusieurs options, assurez-vous de les placer entre "". Après un redémarrage, (redémarrage du docker de service) Docker doit utiliser le nouveau répertoire.L'utilisation d'un lien symbolique est une autre méthode pour modifier le stockage d'images.
Attention - Ces étapes dépendent du fait que votre / var / lib / docker actuel est un répertoire réel (pas un lien symbolique vers un autre emplacement).
1) Arrêter le docker:
service docker stop. Vérifier qu'aucun processus de docker n'exécute ps faux2) Docker Double Check ne fonctionne vraiment pas. Jetez un œil au répertoire docker actuel: ls
/var/lib/docker/2b) Faire une sauvegarde -
tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date +%s).tar.gz3) Déplacez le
/var/lib/dockerrépertoire vers votre nouvelle partition:mv /var/lib/docker /mnt/pd0/docker4) Créez un lien symbolique:
ln -s /mnt/pd0/docker /var/lib/docker5) Jetez un œil à la structure du répertoire pour vous assurer qu'elle ressemble à ce qu'elle était avant le mv:
ls /var/lib/docker/(notez la barre oblique6) Démarrer la sauvegarde de Docker
service docker start7) redémarrez vos conteneurs résolvez le lien symbolique)
Pour changer le datarépertoire, dockeril doit être exécuté avec l'option -g /my/data. Dans mon /etc/default/dockerje mets:
DOCKER_OPTS="-g /srv/docker"
Voir aussi mes notes ici .
Pour changer le datarépertoire dans lxcje mets /etc/lxc/lxc.conf:
lxc.lxcpath = /srv/lxc
Pour développer la réponse de @ MattK:
La documentation Docker sur le contrôle du démon Docker suggère que la manière indépendante de la plateforme de le faire est:
éditez le fichier /etc/docker/daemon.json pour contenir la ligne
{
"data-root": "/mnt/docker-data",
(...)
}
où /mnt/docker-dataest le répertoire dans lequel vous souhaitez que les images et les conteneurs de docker vivent.
alors
sudo systemctl restart docker
Vous pouvez vérifier si cela a fonctionné en exécutant
docker info
et recherchez le contenu de la ligne commençant par Docker Root Dir:.
Voir également https://stackoverflow.com/a/50217666/2209313 et https://unix.stackexchange.com/q/452368/36043 .