Sie können das Speicherbasisverzeichnis von Docker (wo sich Container und Images befinden) mit der Option -g ändern, wenn Sie den Docker-Dämon starten.
Ubuntu / Debian: Bearbeiten Sie Ihre /etc/default/docker
Datei mit der -g
Option:DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"
Fedora / Centos: Bearbeiten /etc/sysconfig/docker
und fügen Sie die -g
Option in der Variablen other_args hinzu: z. other_args="-g /var/lib/testdir"
. Wenn es mehr als eine Option gibt, stellen Sie sicher, dass Sie sie in "" einschließen. Nach einem Neustart (Neustart des Service-Dockers) sollte Docker das neue Verzeichnis verwenden.
Die Verwendung eines Symlinks ist eine weitere Methode zum Ändern des Bildspeichers.
Achtung - Diese Schritte hängen davon ab, dass Ihr aktuelles / var / lib / docker ein tatsächliches Verzeichnis ist (kein Symlink zu einem anderen Speicherort).
1) Docker stoppen : service docker stop
. Stellen Sie sicher, dass auf keinem Docker-Prozess ps faux ausgeführt wird
2) Double Check Docker läuft wirklich nicht. Schauen Sie sich das aktuelle Docker-Verzeichnis an: ls/var/lib/docker/
2b) Erstellen Sie ein Backup - tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date +%s).tar.gz
3) Verschieben Sie das /var/lib/docker
Verzeichnis auf Ihre neue Partition:mv /var/lib/docker /mnt/pd0/docker
4) Machen Sie einen Symlink: ln -s /mnt/pd0/docker /var/lib/docker
5) Werfen Sie einen Blick auf die Verzeichnisstruktur, um sicherzustellen, dass sie so aussieht wie vor dem MV: ls /var/lib/docker/
(Beachten Sie den abschließenden Schrägstrich auf
6) Starten Sie die Docker-Sicherung service docker start
7) Starten Sie Ihre Container neu. Lösen Sie den Symlink.
In neueren Docker-Versionen unter Ubuntu bearbeiten Sie /etc/default/daemon.json wie folgt:
quelle
Um das
data
Verzeichnisdocker
darin zu ändern , muss es mit der Option ausgeführt werden-g /my/data
. In meinem habe/etc/default/docker
ich gesetzt:DOCKER_OPTS="-g /srv/docker"
Siehe auch meine Notizen hier .
Um das
data
Verzeichnis zu ändern, habelxc
ich Folgendes eingegeben/etc/lxc/lxc.conf
:lxc.lxcpath = /srv/lxc
quelle
Aktualisieren Sie auf Docker 1.13.0.
Aus den Versionshinweisen:
quelle
Um die Antwort von @ MattK zu erweitern:
In der Docker-Dokumentation zur Steuerung des Docker-Dämons wird folgende plattformunabhängige Methode vorgeschlagen:
Bearbeiten Sie die Datei /etc/docker/daemon.json, um die Zeile zu enthalten
Wo
/mnt/docker-data
befindet sich das Verzeichnis, in dem die Docker-Images und -Container gespeichert werden sollen?Dann
Sie können überprüfen, ob es funktioniert hat, indem Sie ausführen
und suchen Sie nach dem Inhalt der Zeile, die mit beginnt
Docker Root Dir:
.Siehe auch https://stackoverflow.com/a/50217666/2209313 und https://unix.stackexchange.com/q/452368/36043 .
quelle