Heim >Betrieb und Instandhaltung >Docker >Die systematischste Beherrschung der Docker-Kerntechnologie (Zusammenfassungsfreigabe)
Dieser Artikel enthält einige verwandte Fragen zum Containerbetrieb der Docker-Core-Technologie sowie eine detaillierte Erläuterung von Dockerfile usw. Ich hoffe, er wird Ihnen hilfreich sein.
-it-Interaktion
-p Portzuordnung
-v disk mount
Starten Sie das beendete Container
Container stoppen
Docker Stop
Dockerfile ist im Allgemeinen in vier Teile unterteilt: grundlegende Image-Informationen, Wartungsinformationen, Image-Bedienungsanweisungen und Container-Start-Bedienungsanweisungen
Allgemeine Befehle # MAINTAINER Beispiel MAINTAINER-BandRUN: Befehl, der beim Erstellen des Images ausgeführt werden soll
Format: Shell-Ausführung: RUN
RUN apt-get update && apt-get install Diese beiden Befehle sind immer mit && verbunden, andernfalls wird die Build-Schicht von apt-get update ausgeführt zwischengespeichert werden. Führt dazu, dass das neue Paket nicht installiert werden kann
ADD: Lokale Dateien zum Container hinzufügen, tar und andere Typen
werden automatisch dekomprimiert und es kann auf Netzwerkressourcen zugegriffen werden, ähnlich wie bei wgetFormat : ADDCMD-Befehl Param1 Param2 (Ausführen des Shell-internen Befehls) Beispiel:
.
Format:
ENTRYPOINT ["executable", "param1", "param2"] (ausführbare Datei, Priorität)
ENTRYPOINT-Befehl param1 param2 (Shell-interner Befehl)LABAL: Wird verwendet, um Quelldaten zum Bild hinzuzufügen
LABEL
Beispiel:
Format:
ENV
Beispiel:
ENV MY_SERVICE_PORT=80 UDP_PORT=90
EXPOSE: Geben Sie den Port für externe Interaktion an EXPOSE < port> [ Beispiel:
USER user
USER user:groupUSER uid
USER uid:gidUSER user:gid
USER uid:group Beispiel:Blog von Linux NameSpace_Frank_Abagnale – CSDN-Blog Eine ausführlichere Einführung zu diesem Artikel finden Sie hier
lsns -t
ls -la /proc/ nsenter -t Simulieren von Cgroups zur Steuerung von CPU-Ressourcen Erstellen Sie einen Memory-Demo-Ordner im Verzeichnis /sys/fs/cgroup/memory verbrauchendes Programm und verwenden Sie watch, um die Speichernutzung abzufragen siehe die Kill-Informationen 4. Simulieren Sie Union FS, um den Effekt besser zu verstehen Führen Sie den folgenden Befehl aus:
Sie können die Auswirkung der Verwendung der Dateimontage des Overlay-Speichertreibers sehen. Nach Abschluss des Experiments müssen Sie zum Wiederherstellen der Umgebung zuerst das zusammengeführte Verzeichnis aushängen und dann die vier Verzeichnisse löschen. Wenn Sie zuerst die anderen löschen, wird möglicherweise rm: „merged/“ nicht entfernen: Gerät oder Ressource ausgelastet angezeigt. Dies führt dazu, dass das zusammengeführte Verzeichnis nicht gelöscht wird. Er 8. Docker-Netzwerk Centos-System: $ APT-GET Install Bridge-Utils 2. Docker-Netzwerkmodus 2) Keiner-Modus: Verwenden Sie --net=none zur Angabe. Die Netzwerkkonfiguration muss von Ihnen selbst konfiguriert werden 3) Bridge-Modus: Verwenden Sie --net=bridge, um die Standardeinstellung anzugeben. Docker-Netzwerk-Logikdiagramm-Brücke und NAT 4) Containermodus: Verwenden Sie zur Angabe --net=container:NAME_or_ID. Verwenden Sie die Netzwerkkonfiguration anderer Container Das Netzwerkmodusdiagramm sieht ungefähr wie unten gezeigt aus zu eth0 IP konfigurieren Gateway zugreifen. Konfigurieren Sie NAT so, dass Windows auch auf zugreifen kann Empfohlenes Lernen: „ “6. Detaillierte Erklärung von Linux Cgroups
Enthalten äh Kern: cgroups – Sie können sich auf das kurze Buch „Lernen wir mehr über diesen Artikel lernen“ beziehen.
Führen Sie top aus und Sie können sehen, dass Busyloop zwei CPU-Ressourcen beansprucht.
Simulieren Sie Cgroups. Das Überschreiten der begrenzten Speicherressourcen wird OOM töten.
1. Konzept:
Im Design des Docker-Images wird das Konzept der Ebene eingeführt, das heißt, jeder Schritt des Benutzervorgangs zum Erstellen des Images generiert eine Ebene, die eine hinzugefügte Ebene ist . Messen Sie rootfs (ein Verzeichnis), sodass die Container, in denen sich Anwendung A und Anwendung B befinden, gemeinsam auf dieselbe Ubuntu-Betriebssystemschicht und Golang-Umgebungsschicht verweisen (als schreibgeschützte Schicht) und jeder über eine eigene Anwendungsschicht verfügt und beschreibbar ist Schicht. Hängen Sie beim Starten des Containers die relevanten Ebenen über UnionFS als Root-Dateisystem des Containers in ein Verzeichnis ein.
3. Container-Speichertreiber
Da die aktuelle Version von Docker den OverlayFS-Speichertreiber verwendet, verwenden wir Overlay Um Experimente durchzuführen Overlayfs wird über drei Verzeichnisse implementiert: Unterverzeichnis, Oberverzeichnis und Arbeitsverzeichnis. Das Arbeitsverzeichnis ist das Basisverzeichnis der Arbeit Bei diesem Vorgang ist der Inhalt für den Benutzer unsichtbar. Schließlich wird die einheitliche Ansicht, die dem Benutzer nach Abschluss der gemeinsamen Bereitstellung angezeigt wird, als zusammengeführtes Verzeichnis bezeichnet. mkdir upper lower merged work
echo "lower" > lower/in_lower.txt
echo "from lower" > lower/in_both.txt
echo "from upper" > upper/in_both.txt
echo "upper" > upper/in_upper.txt
path=$(pwd)
mount -t overlay overlay -o lowerdir=${path}/lower,upperdir=${path}/upper,workdir=${path}/work ${path}/merged
$ yum install Bride-Utils
ubuntu-System:
Docker Run wählt den auszuführenden Netzwerkmodus aus
1) Host-Modus: Verwenden Sie --net=host zur Angabe. Teilen Sie einen Netzsatz mit dem Host
3 Simulieren Sie den Betrieb der Docker-Netzwerkbrücke
Erstellen Sie --net=none nginx
Netzwerk-Namespace erstellen
Netzwerk-Namespace-Link erstellen
Überprüfen Sie das aktuell erstellte Bridge-Gerät
Veth-Paar erstellen
Führen Sie eine Netzwerkkonfiguration durch. Nginx Docker
Nginx kann auf
Das obige ist der detaillierte Inhalt vonDie systematischste Beherrschung der Docker-Kerntechnologie (Zusammenfassungsfreigabe). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!