Lösen Sie das Problem verschwindender Docker-Images

Lösen Sie das Problem verschwindender Docker-Images

1. Spiegelbilder verschwinden in 50 und 93

[root@h50 /]# df -h
Verwendete Dateisystemkapazität Verfügbar Verwendet % Einhängepunkt devtmpfs 24G 0 24G 0 % /dev
tmpfs 24G 0 24G 0 % /Entwickler/shm
tmpfs 24G 428M 24G 2 % /Lauf
tmpfs 24G 0 24G 0 % /sys/fs/cgroup
/dev/mapper/cl-root 50 G 43 G 8,0 G 85 % /

Wurzel verbleibende 85 %

Überzug 50G 43G 8,0G

85 % /var/lib/docker/overlay2/9e1d9bbd368c8ebafde39dcaaa66afecde95bfab7db51b13fe92aa5c7995cc9e/zusammengeführt

Das Bild verwendet den Speicherplatz unter root

cat /var/lib/kubelet/config.yaml
RäumungHart:
 imagefs.available: 15 %
 Verfügbarer Speicher: 100Mi
 nodefs.verfügbar: 10 %
 nodefs.inodesFrei: 5 %

Wenn imagesfs weniger als 15% beträgt, wird es vertrieben

Es sollte damit zusammenhängen

Versuchen Sie, den Festplattenspeicher für Root zu vergrößern, teilen Sie den Speicherplatz von Home auf Root auf.

Fügen Sie 7 t-Plätze auf 93 hinzu

Fügen Sie dem Root auf LV Speicherplatz hinzu

resize2fs /dev/mapper/centos-root Fehler aufgetreten xfs_growfs /dev/mapper/centos-root

Datensicherung

scp -r /home/ [email protected]:/root/home50/*

Aushängen

umount -l /home
lvextend -L +80g /dev/centos/root

Nach dem Hinzufügen muss xfs aktualisiert werden

xfs_growfs /dev/mapper/centos-root

Kann nicht montiert werden, muss repariert werden

xfs_repair /dev/cl/home

Aufgrund mehrerer T ist die Reparaturzeit zu lang

LV-Home löschen

lvremove /dev/centos/home

Erstellen Sie ein 1,8-t-LV-Haus

lvcreate -n home -L 1,9T /dev/centos

Format als XFS-System

mkfs.xfs /dev/centos/home

Montieren

mounten Sie /dev/mapper/centos-home /home

Daten wiederherstellen

Erhöhen Sie die Größe Ihres Zuhauses

lvextend -L +1.8t /dev/centos/home
xfs_growfs /dev/mapper/cl-home

Stellen Sie zu diesem Zeitpunkt die Home-Größe wieder her

Daten wiederherstellen

scp -r [email protected]:/root/home52/* /home/

2. Reduzieren

xfs unterstützt keine Reduzierung, daher kann lvreduce nicht verwendet werden. Allerdings kann resize2fs nicht verwendet werden und es wird ein Fehler gemeldet: Es konnte kein gültiger Dateisystem-Superblock gefunden werden. Dies bedeutet, dass die verkleinerte logische Partition mit dem Befehl mkfs.xfs neu formatiert werden muss. Wenn sich auf dieser logischen Partition wichtige Dateien befinden, ist das eine Katastrophe.

Sie können die Dateien nur unter Home sichern.

Hinweis: Mounten beim Booten

Katze /etc/fstab

60 bis

lvreduce -L 5t /dev/centos/home
lvextend -L +1.8t /dev/centos/root
xfs_growfs /dev/mapper/centos-home

Ergänzung: Docker-Neustart-Image ist weg_Gemeinsame Docker-Images und -Verwendung

Docker ist derzeit die beliebteste Technologie und wird für Entwickler zunehmend zu einer notwendigen Fähigkeit. Damit können wir schnell und einfach die erforderliche Anwendungsumgebung erstellen, z. B. die häufig verwendeten Redis-, MQ-, Tomcat-, Zookeeper-, MySQL- und Nginx-Images. Hier fasse ich die Verwendungsmethoden zusammen, damit Sie diese Wissenspunkte in einem Artikel miteinander verknüpfen können.

1. Ziehen Sie das Bild

Derzeit verwende ich häufig den inländischen NetEase-Mirror, der eine sehr schnelle Download-Geschwindigkeit hat.

# docker pull rabbitmq:3-management --Diese Version hat eine Hintergrundanzeige und Sie können die Überwachungsseite sehen

2. Sehen Sie sich das Bild an

Nachdem Sie es heruntergezogen haben, überprüfen Sie das Bild und rufen Sie die Bild-ID ab:

# Docker-Images ----- Sehen Sie sich das heruntergeladene Image an

3. Starten Sie das Image

Das Starten des Images ist ein kritischer Schritt. Die Startbefehle verschiedener Images unterscheiden sich etwas, hauptsächlich die Portzuordnung. Die folgenden Images wurden getestet und können erfolgreich gestartet werden:

# docker run -d --name "xdclass_nginx" -p 8088:80 nginx --Starten Sie nginx
# docker run -d --name "xdclass_rabbitmq" -p 5672:5672 -p 15672:15672 db695e07d0d
--Führen Sie mq aus; -d läuft im Hintergrund; -p dient zum Festlegen der Portzuordnung# docker run -d --name xdclass_redis -p 6379:6379 d4f259423416 --Starten Sie den Redis-Container, aber tatsächlich wird Redis nicht gestartet# docker exec -it ce388f800aed redis-cli --- Greifen Sie in Docker auf Redis zu und starten Sie es, die Containernummer steht danach.
# docker run -d --name myzookeeper -p 2181:2181 --restart always 5e8e3d7b06f9 --Starten Sie das Zookeeper-Image# docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=rootroot -d 9e64176cd8a2. ----docker startet MySQL, das Passwort nach MYSQL_ROOT_PASSWORD ist das beim Start festgelegte Standard-Root-Passwort.

4. Überprüfen Sie, ob der Container gestartet wurde

# docker ps -a --- Alle Container anzeigen, einschließlich gestarteter und nicht gestarteter Container # docker ps. ----- Gestartete Container anzeigen.

5. Nachfolgende Operationen von Mysql

Wenn Sie nach dem Start des Mysql-Containers eine Verbindung über einen Client wie Navicat herstellen möchten, müssen Sie auch die Remote-Anmeldeberechtigungen aktivieren. Hier sind die Schritte:

Der erste Schritt besteht darin, den Container aufzurufen, nachdem der MySQL-Container oben gestartet wurde:

# docker exec -it c8486ec93afb bash

Schritt 2: Melden Sie sich bei MySQL an:

#mysql -u root -p --- Sie werden aufgefordert, das Passwort rootroot des vorherigen Docker-Laufs einzugeben;

Schritt 3: Fügen Sie MySQL Fernzugriffsberechtigungen hinzu:

mysql> gewähre root@'%', identifiziert durch 'rootroot', mit der Grant-Option alle Privilegien für *.*.
mysql> Berechtigungen leeren;

Hinweis: Der neu festgelegte Benutzername für den Fernzugriff: root, Passwort: rootroot;

6. Containerbefehle stoppen und neu starten

# docker stop 283138f62bc2 --- Stoppen Sie den Container, Containernummer: 283138f62bc2
# docker start 283138f62bc2 --Starten Sie den erstellten Container mit der Nummer: 283138f62bc2
#docker stop $(docker ps -a -q) – alle Container stoppen

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Sprechen Sie über das Problem des Ersetzens von Docker (Shim) durch Containerd in Kubernetes1.20
  • So führen Sie den Betrieb nach dem Verlassen des Docker-Containers weiter aus
  • Docker entfernt abnormale Containervorgänge
  • Auf Wiedersehen Docker: So wechseln Sie in 5 Minuten zu Containerd
  • Docker stellt Containern dynamisch Ports zur Verfügung
  • Löschen Sie den Image-Vorgang von „none“ in Docker-Images
  • Durchführung der lokalen Migration von Docker-Images
  • Docker-Image kann nicht gelöscht werden. Fehler: Kein solches Image: xxxxxx-Lösung
  • So löschen Sie ein Image in Docker
  • Benennen von Containern und Images in Docker

<<:  Beim Layout von Webseiten sollten Kompatibilitätsprobleme mit IE6 berücksichtigt werden

>>:  JavaScript-Canvas zum Erstellen eines Rubbellos-Beispiels

Artikel empfehlen

11 allgemeine CSS Tipps und Erfahrungssammlung

1. Wie entferne ich den leeren Bereich von einigen...

Webdesign-Tipps für Formular-Eingabefelder

1. Gestricheltes Feld, wenn die Abbrechen-Schaltfl...

Details zum JavaScript-Prototyp

Inhaltsverzeichnis 1. Übersicht 1.1 Was ist ein P...

Tiefgreifendes Verständnis des Slot-Scopes in Vue (für Anfänger geeignet)

Es gibt bereits viele Artikel über Slot-Scope auf...

Verwenden von NTP zur Zeitsynchronisierung in Ubuntu

NTP ist ein TCP/IP-Protokoll zur Zeitsynchronisie...

vue+element-ui implementiert die Kopfnavigationsleistenkomponente

In diesem Artikel wird der spezifische Code von v...

HTML-Cellpadding- und Cellspacing-Attribute in Bildern erklärt

Zelle -- der Inhalt der Tabelle Zellenrand (Tabell...

Vue verwendet Canvas-Handschrifteingabe, um Chinesisch zu erkennen

Effektbild: Vorwort: Kürzlich arbeitete ich an ei...