Beheben Sie das Problem, dass einige Konfigurationsdateien in /etc nach dem Neustart des Docker-Containers zurückgesetzt werden

Beheben Sie das Problem, dass einige Konfigurationsdateien in /etc nach dem Neustart des Docker-Containers zurückgesetzt werden

1.

Die drei Dateien /etc/hosts, /etc/resolv.conf und /etc/hostname im Container sind im Image nicht vorhanden, sondern liegen in /var/lib/docker/containers/. Beim Starten des Containers werden diese Dateien in Form von mount in den Container eingehängt.

Wenn diese Dateien im Container geändert werden, sind die geänderten Teile daher nicht in der obersten Ebene des Containers vorhanden, sondern werden direkt in diese drei physischen Dateien geschrieben.

2. Warum verschwindet der geänderte Inhalt nach dem Neustart?

Der Grund ist: Jedes Mal, wenn Docker einen Container startet, erstellt es eine neue /etc/hosts-Datei. Warum ist das so?

Der Grund ist: Der Container wird neu gestartet, die IP-Adresse wird geändert und die ursprüngliche IP-Adresse in der Hosts-Datei ist ungültig. Daher sollte die Hosts-Datei geändert werden, da sonst fehlerhafte Daten generiert werden.

3. Gibt es eine gute Lösung?

Sie können den Parameter --add-host des Befehls „Docker Run“ verwenden, um eine Zuordnung zwischen Host und IP für den Container hinzuzufügen.

Ergänzung: Beheben Sie das Problem, dass die Neustartkonfiguration im Docker-Container (Quelle /etc/profile) nicht wirksam wird.

Problembeschreibung:

Wenn Sie Docker verwenden, müssen Sie möglicherweise einige Konfigurationsdateien in der Containerinstanz anpassen, z. B. /etc/profile. Nach der Änderung müssen Sie sie jedoch bei jedem Start des Containers manuell als Quelle verwenden, um sie wieder wirksam zu machen, was sehr umständlich ist.

Lösung:

Fügen Sie in der Containerinstanz die Quelle /etc/profile am Ende der Konfigurationsdatei ~/.bashrc hinzu, speichern Sie die Datei und beenden Sie das Programm. Dadurch kann die Konfigurationsdatei nach dem Neustart automatisch aktualisiert werden, ohne dass ein manueller Eingriff erforderlich ist.

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:
  • So beheben Sie den Startfehler des Docker-Containers
  • Lösung für den Fehler beim Aufrufen des Containers aufgrund vollen Docker-Speicherplatzes
  • Docker: Zeigen Sie den Mount-Verzeichnisvorgang des Containers an
  • docker run -v mountet Datenvolumes abnormal und der Containerstatus wird immer neu gestartet

<<:  Beispielcode zur Implementierung eines bildadaptiven Containers mit CSS

>>:  Erstellung von Webseiten – Grundlegende Deklaration – Dokumenttypbeschreibung (DTD

Artikel empfehlen

Offlineinstallation von Centos7.2 mysql5.7.18.tar.gz

Aufgrund der Netzwerkisolation kann MySQL nicht m...

CSS3-Randeffekte

Was ist CSS? CSS (Abkürzung für Cascading Style S...

So installieren Sie MySQL unter Linux (Yum und Quellcode-Kompilierung)

Es gibt zwei Möglichkeiten, MySQL unter Linux zu ...

Beispiel für das Einfügen eines HTML-Bilds (html add image)

Zum Einfügen von Bildern in HTML sind HTML-Tags f...

Detaillierte Schritte zur Verwendung von Arthas in einem Docker-Container

Was kann Arthas für Sie tun? Arthas ist das Open-...

Vue+Swiper realisiert Timeline-Effekt

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

CocosCreator allgemeines Framework-Design Ressourcenmanagement

Inhaltsverzeichnis Probleme mit der Ressourcenver...

Wie lang ist eine Funktion in js?

Inhaltsverzeichnis Vorwort Warum Wie viel kostet ...

Implementierung von zwei Basis-Images für die Docker-Bereitstellung von Go

1. golang:neuestes Basis-Image mkdir gotest Berüh...

Ein kurzes Verständnis des Unterschieds zwischen MySQL Union All und Union

Union ist eine Vereinigungsoperation für die Date...

Realisieren Sie einen super coolen Wasserlichteffekt auf Leinwandbasis

In diesem Artikelbeispiel erfahren Sie den spezif...

Ändern Sie die Startzeit von Grub in Ubuntu

Die Online-Suche zum Ändern der Grub-Startzeit be...

Detailliertes Tutorial zur Offline-Installation von MySQL unter CentOS7

1. Löschen Sie die ursprüngliche MariaDB, sonst k...