Eine kurze Erläuterung zum Anpassen der Hostdatei in Docker

Eine kurze Erläuterung zum Anpassen der Hostdatei in Docker

1. Frage: Wenn wir tatsächlich entwickeln, wird die Datenbank im Intranet bereitgestellt, und wenn unser Programm eine Verbindung mit der Datenbank herstellt, müssen wir die Intranetadresse angeben. Aber manchmal müssen wir die Umgebung migrieren, sodass unser Backend-Code entsprechend geändert werden muss. Gibt es eine gute Möglichkeit, uns daran zu hindern, den Code zu ändern?

Antwort: Sicher ist, dass dies der Fall ist. Und zwar ist im Code nicht die IP-Adresse angegeben, sondern der Domänenname. Wir müssen nur den Domänennamen und die IP-Adresse konfigurieren, um eine Zuordnungsbeziehung herzustellen, und alle Projekte können das Ziel erreichen, ohne den Code zu ändern.

2. Frage: Die offizielle Umgebung besteht normalerweise aus einem Cluster mit mindestens drei Servern. Müssen wir drei Domänennamen kaufen? Darüber hinaus kann der Domänenname nur an die öffentliche IP gebunden werden. Können wir die Datenbank für das externe Netzwerk öffentlich machen? Aus Sicherheitsgründen wird niemand die Datenbank für das externe Netzwerk öffnen. Was sollen wir dann tun?

Antwort: Das bedeutet, dass wir die Hostdatei ändern und unseren Domänennamen sowie die Intranet-IP des Datenbankclusters im Host anpassen müssen. Ändern Sie auf einer physischen Linux-Maschine einfach die Datei /etc/host.

Wenn unser Dienst in Form von Docker unter Linux bereitgestellt wird. Wie ändern Sie also den Host im Docker?

1. Befehl

Im Allgemeinen werden die Bilder der formalen Umgebung im Voraus kompiliert. Wenn das Bild nicht von Docker-Compose kompiliert wird, ist es schwierig, den Host zu ändern, sodass wir es nur beim Start über Parameter konfigurieren können.

docker run --add-host=www.scalerwang.com:192.168.1.100 --add-host=blog.scalerwang.com:192.168.1.200 --name wangscaler -it mydocker

Verwenden Sie Befehlsparameter, um --add-host anzugeben

2. docker-compose.yml

Geben Sie in YML an, dass der kompilierte Docker-Container die Hostdatei automatisch konfiguriert. Der YAML-bezogene Inhalt lautet wie folgt

Leistungen:
  Dienst-Nginx:
    Bild: nginx
    zusätzliche_hosts:
    - „www.scalerwang.com:192.168.1.100“
    - "blog.scalerwang.com:192.168.1.200"

3. Docker-Datei

Dockerfile hat keine direkten Parameter, um die Hostdatei direkt zu ändern. Wenn Sie die Hostdatei über Dockerfile ändern möchten, müssen Sie die Hostdatei im Voraus vorbereiten und im Stammverzeichnis Ihres Codes ablegen.

WARTUNGSBEARBEITER [email protected]
HINZUFÜGEN //wangscaler
Führen Sie den Befehl cat /wangscaler/hosts >> /etc/hosts aus.

Auch das ist möglich.

4. Direkte Änderung

Wenn Dir der Aufwand nichts ausmacht, kannst Du es ja mal versuchen. Wenn Ihr Programm im Hintergrund gestartet wird und aufgrund der falschen Umgebung nicht gestartet werden kann, können Sie natürlich nicht darauf zugreifen und es ändern.
Diese Methode ist ermüdend (je mehr Cluster vorhanden sind, desto ermüdender ist sie) und sie ist nicht anwendbar (Docker kann ohne den richtigen Host nicht ausgeführt werden und es ist auch möglich, dass der von Ihnen festgelegte Domänenname einer anderen Person gehört. In diesem Fall initiieren Sie eine Anfrage an diese Person).

5. Ändern Sie das Bild

Wenn Ihr Projekt in Form eines Dockers bereitgestellt wird, wird es häufig zuerst über Dockerfile und Docker-Compose in ein Image kompiliert. Zu diesem Zeitpunkt können Sie das Image herunterladen, den Host ändern und es dann erneut hochladen, um das Originalimage zu überschreiben.

Zusammenfassen

Am besten sind die ersten beiden Methoden, da sie Zeit und Aufwand sparen und in einem Durchgang durchgeführt werden können. Wenn Sie ein Image mit Dockerfile kompilieren, wählen Sie die erste Option; wenn Sie mit Docker-Compose kompilieren, ändern Sie docker-compose.yml einfach ein für alle Mal. Die dritte ist auch akzeptabel, aber bei den letzten beiden tun Sie einfach so, als wüssten Sie es nicht, und versuchen Sie nicht, sie auszuführen.
Weitere Informationen zur Verwendung von Docker, z. B. zum Angeben einer IP-Adresse beim Erstellen eines Containers und zum Erstellen eines Containers mit Dockerfile und Docker-Compose, finden Sie im vorherigen Artikel „Docker-Setup und grundlegende Befehle“.

Dies ist das Ende dieses Artikels zum Anpassen der Hostdatei in Docker. Weitere Informationen zum Anpassen der Hostdatei in Docker 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:
  • Lösung für das Problem, dass der Hostname des Hosts im Docker-Container nicht abgerufen werden kann
  • Jedes Mal, wenn Docker einen Container startet, werden die IP und die Hosts mit den angegebenen Operationen
  • Docker-Container: benutzerdefinierter Host-Netzwerkzugriffsvorgang
  • Docker-Netzwerk, Single-Host-Netzwerk und Anwendungsfälle
  • Docker kann keine Verbindung zum Docker-Daemon herstellen. Läuft der Docker-Daemon auf diesem Host? Fehlerlösung

<<:  Detaillierte Erläuterung der Idee, mit CSS-Animation den Punkteeffekt zu erzielen

>>:  Detaillierte Analyse der Rolle von HTML-Kommentar-Tags <!--...-->

Artikel empfehlen

Implementierung eines einfachen Timers in JavaScript

In diesem Artikelbeispiel wird der spezifische Ja...

Detaillierte Erklärung zur Verwendung des Schlüsselworts ESCAPE in MySQL

MySQL-Escape Escape bedeutet die ursprüngliche Se...

CSS zur Implementierung von Sprites und Schriftsymbolen

Sprites: In der Vergangenheit war jede Bildressou...

Verwendung und Verschönerung von HTML-Blockquote-Tags

Definition und Verwendung von Blockquote Das Tag ...

Mit CSS3 können Sie eine schwebende Wolkenanimation erzielen

Wirkung der Operation html <Kopf> <meta ...

Grundlegende Referenztypen der erweiterten JavaScript-Programmierung

Inhaltsverzeichnis 1. Datum 2. RegExp 3. Original...

JavaScript implementiert die asynchrone Erfassung von Formulardaten

In diesem Artikelbeispiel wird der spezifische Co...