Comment puis-je changer le répertoire de données de Docker où docker enregistre le conteneur (ou où lxc enregistre le conteneur)? J'ai sur mon serveur un ssd et un disque dur et je veux que le conteneur soit sauvegardé sur le disque dur. Merci
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)
Dans les versions Docker plus récentes sur Ubuntu, vous éditerez /etc/default/daemon.json comme ceci:
la source
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 danslxc
je mets/etc/lxc/lxc.conf
:lxc.lxcpath = /srv/lxc
la source
Mettez à niveau vers Docker 1.13.0.
Depuis les notes de version:
la source
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
où
/mnt/docker-data
est le répertoire dans lequel vous souhaitez que les images et les conteneurs de docker vivent.alors
Vous pouvez vérifier si cela a fonctionné en exécutant
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 .
la source