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/docker
fichier avec l'-g
option:DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"
Fedora / Centos: éditez
/etc/sysconfig/docker
et ajoutez l'-g
option 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.gz
3) Déplacez le
/var/lib/docker
répertoire vers votre nouvelle partition:mv /var/lib/docker /mnt/pd0/docker
4) Créez un lien symbolique:
ln -s /mnt/pd0/docker /var/lib/docker
5) 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 start
7) redémarrez vos conteneurs résolvez le lien symbolique)
Pour changer le data
répertoire, docker
il doit être exécuté avec l'option -g /my/data
. Dans mon /etc/default/docker
je mets:
DOCKER_OPTS="-g /srv/docker"
Voir aussi mes notes ici .
Pour changer le data
répertoire dans lxc
je 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-data
est 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 .