Aufgrund der anfänglichen Partitionierung des Systems ist die entsprechende / Partition im Betriebssystem nicht zu groß und das /var-Verzeichnis wird nicht separat partitioniert. Wenn Sie den Docker-Dienst darauf ausführen, wird die ursprünglich große Partition nach längerer Verwendung zunehmend unzureichend. Wie kann man mit diesem Problem besser umgehen? 1. Verwenden Sie SoftlinksWir wissen, dass sich der Speicherort des Docker-Containers im Betriebssystem standardmäßig im Verzeichnis /var/lib/docker befindet. Sie können den spezifischen Speicherort mit dem folgenden Befehl anzeigen. #Standardspeicherort$ sudo docker info | grep "Docker Root Dir" Der direkteste und effektivste Weg, das Problem der unzureichenden Standardspeicherkapazität zu lösen, besteht darin, in diesem Verzeichnis eine neue Partition bereitzustellen. Falls der ursprüngliche Systemspeicherplatz jedoch unverändert bleibt, wird die Softlink-Methode verwendet, um den Speicherpfad des Images und des Containers zu ändern und so denselben Zweck zu erreichen. # Stoppen Sie den Docker-Dienst $ systemctl restart docker # Stoppen Sie den Docker-Dienst $ service docker stop Verschieben Sie dann das gesamte Verzeichnis /var/lib/docker in einen Zielpfad, der nicht zu viel Platz einnimmt. Wenn Sie Docker zu diesem Zeitpunkt starten, stellen Sie fest, dass das Speicherverzeichnis immer noch das Verzeichnis /var/lib/docker ist, es jedoch tatsächlich auf der Datenfestplatte /data/docker gespeichert ist. # Verschieben Sie den ursprünglichen Inhalt $ mv /var/lib/docker /data/docker # Verknüpfung $ ln -sf /data/docker /var/lib/docker 2. Geben Sie die Startparameter des Containers anGeben Sie in der Konfigurationsdatei den Container-Startparameter --graph=/var/lib/docker an, um das Image und den Container-Speicherpfad anzugeben. Die Konfigurationsdatei von Docker kann die meisten Parameter der Hintergrundprozesse festlegen, ihr Speicherort ist jedoch in den einzelnen Betriebssystemen inkonsistent. Der Speicherort in Ubuntu ist die Datei /etc/default/docker und der Speicherort in CentOS ist die Datei /etc/sysconfig/docker. # CentOS6 # Weil Ubuntu den Selinux-Mechanismus standardmäßig aktiviert OPTIONS=--graph="/data/docker" --selinux-enabled -H fd:// # CentOS7 # Ändern Sie die Datei docker.service und verwenden Sie den Parameter -g, um den Speicherort anzugeben $ vi /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd --graph /neuer-Pfad/docker #Ubuntu # Weil Ubuntu den Selinux-Mechanismus standardmäßig nicht aktiviert OPTIONS=--graph="/data/docker" -H fd:// Nach dem Neustart wird der Docker-Pfad auf /data/docker geändert. # Laden Sie die Konfigurationsdatei neu. $ sudo systemctl daemon-reload # Starten Sie den Docker-Dienst neu $ sudo systemctl restart docker.service Wenn die Docker-Version 1.12 oder höher ist, können Sie eine neue daemon.json-Datei ändern oder erstellen. Die Änderung wird sofort wirksam, ohne dass der Docker-Dienst neu gestartet werden muss. # Ändern Sie die Konfigurationsdatei $ vim /etc/docker/daemon.json { "Registrierungsspiegel": ["http://7e61f7f9.m.daocloud.io"], "graph": "/neuer-Pfad/Docker" } 3. Erstellen Sie eine Konfigurationsdatei unter SystemErstellen Sie eine Drop-In-Datei docker.conf im Verzeichnis /etc/systemd/system/docker.service.d. Standardmäßig existiert der Ordner docker.service.d nicht und muss zuerst erstellt werden. Der Grund für die Erstellung einer Drop-In-Datei besteht darin, dass der Docker-Dienst bestimmte in der Datei docker.conf genannte Parameter verwenden und die vom Standarddienst in der Datei /lib/systemd/system/docker.service verwendeten Parameter überschreiben soll. # Definieren Sie einen neuen Speicherort $ sudo vi /etc/systemd/system/docker.service.d/docker.conf [Service] ExecStart=/usr/bin/dockerd --graph="/data/docker" --storage-driver=devicemapper Speichern und beenden Sie den Vim-Editor. /data/docker ist der neue Speicherort und devicemapper ist der aktuell von Docker verwendete Speichertreiber. Sollte Ihr Speichertreiber ein anderer sein, geben Sie hier den Wert ein, den Sie im ersten Schritt geprüft und notiert haben. Sie können jetzt den Service-Daemon neu laden und den Docker-Dienst starten, wodurch der Speicherort der neuen Images und Container geändert wird. Um zu bestätigen, dass alles gut gegangen ist, führen Sie den Befehl „Docker Info“ aus, um das Docker-Stammverzeichnis zu überprüfen. # Laden Sie die Konfigurationsdatei neu. $ sudo systemctl daemon-reload # Starten Sie den Docker-Dienst neu $ sudo systemctl start docker Dies ist das Ende dieses Artikels zum Ändern des Standardspeicherorts von Docker-Images. Weitere Informationen zum Standardspeicherort von Docker-Images finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung der Hinweise zum Flex- und Positionskompatibilitäts-Mining
>>: Grafische Erklärung des zugrunde liegenden Prinzips der JavaScript-Bereichskette
<meta name="viewport" content="...
In diesem Artikel wird die spezifische Methode zu...
Promise ist eine neue Lösung für die asynchrone P...
Die Wirkung ist wie folgt:Referenzprogramm: <!...
Vorwort: Ich lerne derzeit Linux und .Net Core un...
Sehen wir uns zunächst ein Beispiel für die Speic...
Ich bin heute bei der Arbeit auf ein SQL-Problem ...
Was ist Element-UI element-ui ist eine auf Vue.js...
Ich denke, dies ist ein Problem, auf das viele Leu...
Absolute Positionierungsmethode: (1) Stellen Sie ...
Inhaltsverzeichnis # Nachbereitung der Daten # SQ...
Inhaltsverzeichnis 1. Was ist eine Komponente? 2....
Die Testumgebung dieses Experiments: Windows 10+c...
Inhaltsverzeichnis 1. Detaillierte Syntax der Met...
1. Problem Während der Entwicklung wird beim Einf...