Containermanagement Mit Podman Crashkurs | Andrei Balint | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Containermanagement Mit Podman Crashkurs

teacher avatar Andrei Balint

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      KURSEINFÜHRUNG

      1:42

    • 2.

      Container erklärt

      5:51

    • 3.

      Container

      4:14

    • 4.

      Verwaltung von Containern

      8:04

    • 5.

      Verwalten von Bildern

      4:58

    • 6.

      Persistente Lagerung

      5:04

    • 7.

      Port Bindung

      4:18

    • 8.

      Container

      4:09

    • 9.

      Bilder erstellen

      4:09

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

37

Teilnehmer:innen

--

Projekt

Über diesen Kurs

Podman ist die Plattform für Entwickler und Sysadmins, um verteilte Anwendungen zu erstellen, zu versenden und auszuführen, sei es auf Laptops, VMs im Rechenzentrum oder in der Cloud.

Dieser Kurs führt Podman einem Absolute der wirklich einfach und leicht verständliche Vorträge verwendet. Vorträge folgen demos die zeigen, wie man mit Podman einrichtet und anfangen.

Dieser Kurs hilft dir, dein eigenes persönliches Laborumfeld zu erstellen, in dem du alle hier erlernten Kenntnisse üben kannst.

Am Ende des Kurses hast du ein solides Verständnis von Containern – was sind die Vorteile der Containerisierung und wie du Container mit dem Podman Container Management Tool verwaltest.

Mit den hier gewonnenen Erkenntnissen kannst du deine eigenen containerisierten Dienste im Handumdrehen einrichten und auch von außerhalb deines eigenen Hosts zugänglich machen.

In diesem Kurs wirst du:

  • Erfahren Sie mehr über die container und die Vorteile

  • Tauche in container ein, was sie sind und wie du Podman konfigurierst, um bestimmte Register zu verwenden

  • Führe und verwalte Container mit Podman

  • Mit Podman containers ziehen und verwalten

  • Zuweisen von dauerhaften Lagern an Container

  • Erfahren Sie, wie Sie Ports zugeordnet werden, um Ihre Container auch von außen zugänglich zu machen.

  • Erstellen und Verwalten von container in Podman

  • Erstelle deine eigenen container über DockerFiles und verwende den Podman

P.S Podman ist Docker sehr ähnlich, sodass alle Kurse in diesem Kurs bei Docker so nützlich sein können wie bei Podman

Triff deine:n Kursleiter:in

Teacher Profile Image

Andrei Balint

Kursleiter:in
Level: Beginner

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. KURSEINFÜHRUNG: Hallo und willkommen zum Kurs Containermanagement mit Pac-Man. Mein Name ist Andre Balance und ich bin hier um Ihnen zu helfen, die Vorteile der Containerisierung zu erlernen und zu erfahren, wie Sie Container mit dem Pokemon Container-Management-Tool erstellen und verwalten können , das ich gerne angeben möchte der Vorstandsmann ist Docker extrem ähnlich. Der hier gewonnene Wissen kann auch bei der Arbeit mit Docker genutzt werden . Lassen Sie uns den Kurs jetzt damit beginnen Ihnen etwas über mich selbst zu erzählen. Ich bin ein von Red Hat zertifizierter Ingenieur und auch ein Spezialist für die Arbeit mit beiden Containern . Kubernetes ist mein zweites Fachgebiet ist InfoSec. Ich bin auch CompTIA Security Plus 35 Meilen nach CISOs zertifiziert. Jetzt, wo Sie ein wenig über mich wissen, sehen Sie, was wir in diesem Kurs behandeln werden. Lassen Sie uns einen kurzen Überblick darüber geben, was wir in diesem Kurs behandeln sollten. werden wir etwas über Container, ihre Architektur, in ihren Vorteilen lernen Danach werden wir etwas über Container, ihre Architektur, in ihren Vorteilen lernen, worauf wir näher auf praktische Bereiche eingehen werden. Und wir werden Container-Register besprechen. Sie sind und wie man sie in Pod Man konfiguriert. Als Nächstes werden wir uns mit der Verwaltung von Containern befassen und sehen, wie Containerdienste erstellt werden können. Jetzt können wir Container gut verwalten, wenn wir auch Images verwalten können. Das werden wir also im nächsten Modul tun. Container haben standardmäßig kurzlebigen Speicher. Wenn wir also möchten, dass unsere Änderungen über den Tod eines Containers hinaus bestehen bleiben, müssen wir verstehen, wie man Containern Persistenzspeicher zuweist. Und das werden wir im fünften Modul behandeln. Im sechsten sieben Modul werden wir uns auf Container Networking konzentrieren, wo wir etwas über die Port-Bindung und die Netzwerkerstellung lernen . Wie heute werden wir diesen Kurs beenden, indem wir lernen, wie wir mithilfe von Docker-Dateien und Arbeitsverzeichnissen unsere eigenen Container-Images erstellen mithilfe von Docker-Dateien und Arbeitsverzeichnissen unsere eigenen Container-Images können. Jetzt, wo wir einen ziemlich guten Überblick darüber haben , was wir behandeln werden, fangen wir an. 2. Container erklärt: Jetzt, mit unserem ersten Modul, werden wir ein wenig über Container sprechen, was sie sind und welche Vorteile die Containerisierung bietet. Wir beenden dieses Modul, indem wir eine Laborumgebung einrichten , in der wir alle unsere praktischen Übungen für die nächsten Module ausführen können . Also lasst uns ohne weitere Umschweife loslegen. Schauen wir uns nun ein wenig an, wie Container funktionieren. Softwareanwendungen hängen jetzt von Systembibliotheken, Konfigurationsdateien oder Diensten ab, die die Laufzeitumgebung bereitstellt. Darüber hinaus ist die Laufzeitumgebung für eine Softwareanwendung in einem Betriebssystem installiert , das entweder auf einem physischen Host oder einer virtuellen Maschine ausgeführt entweder auf einem physischen Host oder einer virtuellen Maschine Administratoren installieren die Anwendung Abhängigkeiten auf diesem Betriebssystem. Der größte Nachteil herkömmlicher bereitgestellter Softwareanwendungen besteht darin, dass diese Abhängigkeiten mit der Laufzeitumgebung verwoben sind . Eine Anwendung erfordert möglicherweise ältere oder neuere Versionen einer unterstützenden Software und der Software, die vom Betriebssystem bereitgestellt wird. An dieser Stelle kommen Container ins Spiel. Container ist eine Gruppe von einem oder mehreren Prozessen, die vom Rest des Systems isoliert sind . Stellen Sie sich das wie einen physischen Versandcontainer vor. Versandcontainer sind eine Standardmethode zum Verpacken und Versenden. Es wird beschriftet, geladen, entladen und in einer einzigen Box von einem Ort zum anderen transportiert . Inhalt der Behälter ist vom Inhalt anderer Behälter isoliert , sodass sie sich nicht gegenseitig beeinflussen. Sie sind also isoliert und funktionieren unabhängig. Was sind also die Eigenschaften eines Containers? Nun, sie laufen direkt auf dem Host-Betriebssystem und teilen diese Ressourcen mit allen Containern auf diesem System. Sie haben den Host-Kernel geteilt. Der Kernel isoliert die Anwendungsprozesse vom Rest des Systems. Sie benötigen viel weniger Ressourcen als virtuelle Maschinen, sodass sie schneller gestartet und bereitgestellt werden können. Und sie beinhalten alle Abhängigkeiten wie System- und Programmierabhängigkeiten sowie Konfigurationseinstellungen. Unabhängig davon, wo Sie sie bereitstellen, verhalten sie sich gleich. Nachdem wir ein wenig über Container-Architektur verstanden haben , schauen wir uns einige nützliche Begriffe an. Container ist ein Prozess oder eine Gruppe von Prozessen, die ein Image mit Einschränkungen ausführen. Image ist ein Paket, das alle Anforderungen zur Ausführung dieser oder jener Prozesse enthält alle Anforderungen zur Ausführung . Eine Registrierung ist ein Ort, an dem Bilder gespeichert und abgerufen werden können. Old Man ist das Container-Management-Tool, dem wir sowohl Images als auch Container und deren Interaktion verwalten . Eine weitere beliebte Alternative ist Docker. Und der Pod besteht aus einem oder mehreren Containern, was eine einzelne Anwendung darstellt. Schauen wir uns also ein wenig die Vorteile der Containerisierung an. Erstens haben wir Portabilität. Ein Anwendungscontainer erstellt ein ausführbares Softwarepaket vom Host-Betriebssystem abstrahiert wird. Daher ist es in keiner Weise abhängig oder an das Betriebssystem gebunden, wodurch es portabel wird und konsistent und einheitlich auf jeder Plattform oder Cloud ausgeführt werden kann . Dann haben wir Geschwindigkeit, da kein Betriebssystem zum Booten vorhanden ist. Das bedeutet auch, dass die Startzeit sehr niedrig ist. Die Nerven sind auch sehr effizient, wenn die Software, die in einer containerisierten Umgebung ausgeführt wird , den Betriebssystemkern des Hostcomputers teilt . Entwickler können die App-Layer über Container hinweg gemeinsam nutzen. Darüber hinaus haben Container von Natur aus eine geringere Kapazität als virtuelle Maschinen, die minimale Startzeiten erfordern, sodass Entwickler mehr Container auf derselben Rechenkapazität ausführen können, ist eine virtuelle Maschine. Folglich führt dies zu einer höheren Servereffizienz und reduziert die damit verbundenen Server- und Lizenzkosten. Und schließlich, wie bereits erwähnt, weil es kein Betriebssystem gibt haben beide Container auch weniger Overhead. Wir verstehen die Container-Architektur und die Vorteile der Containerisierung. Richten Sie die Laborumgebung ein. Zunächst werden wir die Voraussetzungen für die Einrichtung des Labors durchgehen . Danach schauen wir uns die Befehle an, die wir ausführen sollten. Zuletzt werden wir eine kurze Demo machen, um unsere Laborumgebung zum Laufen zu bringen. Voraussetzungen angeht, brauchen wir jetzt einen Host, auf dem Red Hat Enterprise Linux Version 8 oder höher läuft . Der Host muss mit dem Internet verbunden sein. Es benötigt also eine aktive Internetverbindung, die wir sowohl Birdman- als auch Container-Images herunterladen können, die an unseren Host angehängt sind. Wir benötigen eine Beschreibung für Self-Support oder Entwickler. Das bedeutet also, dass wir ein Entwicklerkonto bei Red Hat erstellen müssen . Zusätzlich wird empfohlen, dass wir auch ein Konto in einem Container-Repository haben , von dem wir unsere Images beziehen, wie Docker oder Clay. Das ist aber nicht verpflichtend. Schauen wir uns nun die Befehle an, die wir zum Einrichten unserer Laborumgebung benötigen. Es ist also eigentlich nicht so kompliziert. Es gibt nur drei Befehle , die wir ausführen müssen. Registrieren Sie sich für den ersten Tag des Abonnement-Managers , der unser System mit unserem Red Hat-Konto und Passwort registriert . Danach haben wir den Abonnementmanager minus Auto angehängt, wodurch das Abonnement an unseren Host angehängt wird. Und schließlich werden wir den Befehl yum install container tools ausführen, um das Poor-Man-Container-Management-Tool aus den Repositorys von Red Heads Repositorys zu installieren Poor-Man-Container-Management-Tool aus den Repositorys von , nachdem wir unseren Host erfolgreich registriert haben. Lassen Sie uns nun all diese Befehle verwenden und unsere Laborumgebung in unserer kurzen Demo einrichten . Zuerst verwenden wir den Befehl Subscription Manager registered , um mein System bei Red Hat zu registrieren. Ich gebe meine Red Hat ID und auch mein Passwort ein. Dann muss ich nur noch ein bisschen warten. Wie Sie sehen können, lautet die Ausgabenachricht , dass das System registriert wurde und der Systemname localhost dot lokale Domäne ist. Ich werde den Befehl „Subscription Manager attach“ minus „ auto“ verwenden, um mein Abonnement an meinen Host anzuhängen. Dies kann ein bisschen dauern, aber nachdem dies erledigt ist, habe ich Zugriff auf Read Heads Repositories kann auch eine Popup-Nachricht sehen, die besagt , dass die Registrierung ist erfolgreich und mein Status ist im Schlaf abonniert. Ich werde den Befehl yum install container tools verwenden , um das Container-Management-Tool Pac-Man aus den Repositorys von red heads zu installieren das Container-Management-Tool . Sie können sehen, dass es erfolgreich heruntergeladen wurde und abgeschlossen ist. Jetzt. Herzlichen Glückwunsch. Habe jetzt eine funktionierende, laufende Laborumgebung. 3. Container: Zuvor haben wir unsere Laborumgebung eingerichtet. Jetzt können wir also über Container-Register sprechen. Wir werden zunächst einen theoretischen Überblick darüber geben, was Container-Register sind. Und dann werden wir zur Demo übergehen, wo wir unsere eigene benutzerdefinierte Container-Registrierung erstellen werden. Also lasst uns ohne weitere Umschweife loslegen. Also was sind unsere Container-Register? Um es einfach auszudrücken, es gibt ein Repository mit Bildern. Eine Container-Registry ist eine Bank zum Speichern und Abrufen von Container-Images. Ein Entwickler lädt Container-Images eine Container-Registry hoch. Sie können diese Images dann von einer Registrierung auf ein lokales System herunterladen , um auf diesen Images basierende Containerdienste auszuführen und zu erstellen . Es gibt zwei Arten von Registern, private oder öffentliche. Sie können eine öffentliche oder eine private Registrierung verwenden, bei Ihre Organisation die Quelle Ihrer Container-Images kontrolliert der Ihre Organisation die Quelle Ihrer Container-Images kontrolliert, insbesondere aus Sicherheitsgründen. Um Bilder von den meisten Registern herunterzuladen, benötigen Sie zunächst ein Konto bei diesen Registern und können sich mit diesem Register anmelden dem alten Man-Container-Management-Tool genauer gesagt der pot-man-Login-Befehl. Jetzt wird die Standardkonfigurationsdatei für Container-Register in der Slash-ETC-Schrägstrich-Container-Schrägstrich-Datei registry.com gelernt . Jetzt haben beide Menschen die Fähigkeit, rücksichtslose Container zu betreiben. Das heißt, wir können eine registry.com-Datei in der Startseite des Benutzerpunktkonfigurations-Slash-Container-Verzeichnisses erstellen . Dies wird Vorrang vor dem allgemeinen haben, der in Schrägstrich, ETC Slash Container Slash registries.com vorhanden ist. Jetzt haben wir in der Container-Registrierungsdatei diesen Abschnitt zur Suche nach Registern. Im Abschnitt zur Registrierungssuche ist eine Liste der durchsuchbaren Registrierungen konfiguriert. Wir haben auch die Register in einem sicheren Bereich. Diese Register sind nicht durch TLS-Verschlüsselung geschützt. Jetzt, da wir einen guten theoretischen Überblick über Register haben , schauen wir uns einige praktische und nützliche Pokemon-Befehle für die Arbeit mit Registern an. Zuerst haben wir den Befehl old man login mit dem Befehl boat man login Wie wir im Beispiel sehen können, werde ich mich mit einem Benutzernamen und einem Passwort bei my registered.com anmelden . Dann haben wir den Befehl pod man info uns Informationen über die Konfiguration von PODD man gibt, einschließlich durchsuchbarer Register. Und schließlich haben wir den Suchbefehl des Hafenmannes, den Punktmann-Suchbefehl. Ich kann meine Register durchgehen und nach einem bestimmten Schlüsselwort wie HTTPD suchen . Bei der PacMan-Suche durchsucht HTTPD beispielsweise Register nach Container-Images, die das HTTPD-Schlüsselwort enthalten. also ohne weiteres Gehen wir also ohne weiteres in die Demo und setzen unser erlerntes Wissen in die Praxis um. Zuerst werde ich VIM verwenden, um Ihnen den Schrägstrich, ETC-Schrägstrich-Container-Schrägstrich registered.com-Datei zu zeigen . Hier haben wir die uneingeschränkten Suchregister. Dies sind die Register, durch die der Podman sucht. Wenn ich nach einem Bild suche, haben wir hier die Registry.CentOS.org, quiet.docker.io usw. Jetzt werde ich dieses spezielle Dokument beenden. Ich werde einen neuen Pfad mit MK D oder Command erstellen. Und mein neuer Pfad werden Slash-Container für Punktkonfigurationen sein. Jetzt werde ich die Slash-ETC-Schrägstrich-Container-Schrägstrich-registered.com-Datei in den Slash-Container-Pfad der Punktkonfiguration kopieren Slash-ETC-Schrägstrich-Container-Schrägstrich-registered.com-Datei in . Ich werde den gleichen Namen behalten, registry.com. Jetzt werde ich diese bestimmte Datei bearbeiten, da ich nur möchte, dass mein Pod-Man-Container-Management-Tool registry.access.redhead.com durchsucht. Also werde ich alle Register löschen , die ich nicht verwenden möchte, wie Registry dots, CentOS.org, quiet.io und docker.io. Dann werde ich dieses Dokument speichern und beenden. Jetzt führe ich einen PubMed-Suchbefehl mit dem Begriff HTTPD aus, um zu testen, ob meine Registries in Ordnung sind. Und wir können deutlich sehen , dass wir hier Ergebnisse haben. Jetzt werde ich den Bildschirm leeren und den Befehl port man info verwenden, um Informationen über unsere Pac-Man-Konfiguration zu erhalten. Und wir können hier deutlich sehen, dass die durchsuchbaren Register nur registry.access.com sind. Also der einzige, den ich in der Punktkonfiguration übrig habe Slash-Container slash-registries.com-Datei. Unsere Demo hat also perfekt funktioniert. Vielen Dank und wir sehen uns im nächsten Modul. 4. Verwaltung von Containern: Zuvor haben wir von Container-Registern erfahren. In diesem Modul lernen wir nun, wie Sie Container mithilfe des Pod-Man-Container-Management-Tools verwalten . Dies wird ein sehr praktisches Modul sein und wir werden dieses Modul mit der Demo beenden all unser erlerntes Wissen in die Praxis umsetzen. Also lasst uns ohne weitere Umschweife loslegen. In Bezug auf nützliche Befehle haben wir zuerst den Befehl port man pool, der eine Registry und dann ein Image innerhalb dieses Projektarchivs angibt . Dadurch wird das Bild auf den lokalen Host heruntergeladen. Danach haben wir den Befehl Pokemon inspect , der ein lokal gespeichertes Bild angibt. Dadurch erhalten wir detaillierte Informationen zu diesem Container-Image. Mit dem Befehl pod man images können wir eine Liste der lokal gespeicherten Bilder abrufen und mit dem Poor-Man-RMI-Befehl, der einen Image-Namen angibt, können wir ein lokal gespeichertes Bild entfernen. Bevor wir uns nun mit laufenden Containern befassen, geben wir einen kurzen Überblick über die Zustände, in denen sich ein Container befindet. Großartig, es bedeutet, dass unser Container erstellt wurde, aber nicht gestartet wird, bedeutet, dass ein Container mit all seinen Prozessen läuft. Stopp bedeutet, dass ein Container angehalten wurde und auf den Start eines Signals wartet. Ihre Prozesse warten auf dasselbe. Post bedeutet, dass ein Container und seine Prozesse angehalten wurden , während dies bedeutet, dass alle seine Prozesse beendet wurden. Schauen wir uns nun einige nützliche Befehle zum Ausführen von Containern an , die das Poor-Man-Container-Management-Tool mit dem Podium und dem Befehl run verwenden die das Poor-Man-Container-Management-Tool . Wir können einen Befehl innerhalb eines Containers ausführen. Wir können den Namen mit der Minus-Minus-Namensoption angeben. Und am Ende des Befehls haben wir das Bild angegeben, auf dem dieser Container basiert , indem wir die minus d-Option verwendet haben, die für detached steht, was bedeutet, dass der Container in ausgeführt wird losgelöster Modus. Das bedeutet, dass der Container im Hintergrund läuft , bis er angehalten wird. Mit dem Befehl pot man ps können wir alle laufenden Container mit dem Befehl pod man ps mit dieser Option minus a auflisten , wir können alle laufenden Container auflisten oder nicht. Verwenden des Befehls pod man logs. Wir können Ladungen aus einem Namencontainer beziehen, was uns bei der Behebung möglicher Probleme im Zusammenhang mit diesem Container helfen kann. Ich möchte angeben, dass wir, wenn wir die minus e-Option verwenden, Umgebungsvariablen deklarieren , die an diesen Container übergeben werden. Wir deportieren den Befehl man stop unter Angabe eines Containernamens. Wir können einen laufenden Container mit dem Pac-Man start-Befehl stoppen . erneut den Containernamen an. Wir können einen gestoppten Container mit dem Befehl pod man RM starten . Wir können einen Container mit Angabe seines Namens entfernen. Mit dem Pac-Man cp-Befehl. Wir können Dateien vom Host in einen Container kopieren indem wir den Befehl old man exec angeben, einen Containernamen angeben, wir können einen Befehl innerhalb eines Namencontainers ausführen und den Befehl pot man exec verwenden . Mit den Minus-IT-Optionen Schrägstrich-Bin-Schrägstrich-Bash angeben, können wir ein Terminal innerhalb eines Namenscontainers erhalten. Die minus i-Option leitet alle Eingaben vom Host an den Container weiter . Und die minus d-Option wird uns das Pseudo-Terminal innerhalb dieses Containers aufgeben . Jetzt haben wir einen guten Überblick über alle wichtigen Befehle, die zum Ausführen von Containern mit dem Pod-Container-Management-Tool erforderlich sind. Gehen wir zur Demo über. Jetzt suche ich zuerst mit dem Suchbefehl des Pod-Mans nach einem HTTP-D-Image. Ich scrolle nur ein bisschen nach oben und in der Beschreibung sehe ich einen Apache HTTP 2.4 Server. Ich kopiere den Namen dieses Bildes und lösche den Bildschirm und verwende den Postman-Pull-Befehl, um es lokal herunterzuladen. Wie Sie sehen können, versucht es, das Bild aus der Registrierung abzurufen, erhält die Quellsignaturen und kopiert die Blobs, während wir sprechen. Also lass uns einfach ein bisschen warten. Die Umfrage war also erfolgreich. Um dies zu überprüfen, verwende ich den Befehl pod man images und wir können sehen, dass unser Image hier vorhanden ist. Als Nächstes verwende ich den Befehl port mapping spec, um detaillierte Informationen zu diesem bestimmten Bild zu erhalten . Wir können hier viele Informationen sehen. Zunächst können wir den Benutzer sehen, unter dem dieses Bild ausgeführt wird , der bei 1001 verwendet wird. Wir können auch Details zu den belichteten Ports des Bildes sehen, nämlich 8088443. Eine Zusammenfassung und Beschreibung dessen wofür dieses Bild gedacht ist, das Arbeitsverzeichnis dieses Bildes sowie Details zum Anbieter des Bildes, sowie Details zum Anbieter der Redhead Incorporated ist, und die Version des Bildes, die 2.4 ist. Ich werde einfach den Bildschirm räumen. Jetzt. Jetzt verwende ich den Port-VLAN-Befehl der den Namen meines Containers über die Minus-Minus-Namensoption angibt . Und es wird Web-App genannt und das Bild , auf dem es basieren soll. Und wir können deutlich sehen, dass der Container gestartet ist. Es gibt zwar einige Protokolle und Fehler, aber es hat ordnungsgemäß funktioniert. Ich verlasse einfach den Bildschirm. Ich werde jetzt den Bootsmann ps abzüglich eines Befehls verwenden , um alle Container aufzulisten. Und wir können deutlich unseren Web-App-Container sehen , der vor 39 Sekunden erstellt wurde. Ich werde es mit dem armen Mann RM-Befehl entfernen , der seinen Namen angibt. Jetzt werde ich den Container erneut ausführen, aber jetzt im getrennten Modus der durch die Option minus d angegeben wird. Ich werde die gleichnamige Web-App beibehalten und sie wird auf demselben Bild basieren. Ich werde meine Arbeit mithilfe des Befehls pause band ps validieren , der uns alle laufenden Container zeigt. Und wir können sehen, dass unser Container namens Web App , der vor zwei Sekunden erstellt wurde, läuft. Ich werde detaillierte Informationen zu diesem Container durch die Verwendung von Pac-Man-Protokollen erhalten. Und wir können einige Protokolle sehen mit unserem Web-App-Container verknüpft sind. Lassen Sie mich jetzt einfach den Bildschirm räumen. Und jetzt verwenden wir den Befehl Pokemon stop , um mit einem Web-App-Container zu stoppen. Wir können unsere Arbeit durch die Verwendung des alten Mannes ps abzüglich eines Befehls validieren , mit dem wir den Status des Containers überprüfen können und er von oben auf beendet umgeschaltet wird. Ich werde den Container erneut starten indem ich den bootman start-Befehl verwende. Und wie Sie sehen können, hat sich der Status wieder von „beendet“ auf „oben“ geändert. Jetzt möchte ich den Pac-Man cp-Befehl demonstrieren. Aber vorher werde ich ein Dokument namens index.html mit dem Inhalt von helloworld erstellen ein Dokument namens index.html , indem den Befehl echo und die Ausgabeumleitung verwende, dann verwende ich den Befehl port man cp, spezifiziere die Datei index.html , die ich zuvor erstellt habe. Und ich werde es in den Container namens Wet-Bulb innerhalb des letzten Schrägstrichs var slash v, V, v slash HTML slash index.html übertragen Wet-Bulb innerhalb des letzten Schrägstrichs var slash v, . Jetzt werde ich den Container mit dem Befehl boatman exec mit den minus IT-Optionen slash bin slash bash betreten . Wie Sie sehen können, hat sich der Stapel geändert und wenn ich einen P S minus ox-Befehl ausführe, kann ich deutlich sehen, dass ich nicht mehr auf meinem lokalen Host bin. Ich bin im Container. Ich werde das Verzeichnis in den Schrägstrich var slash VB Slash HTML Pfad ändern . Und hier kann ich eine Liste machen. In dieser Liste können wir deutlich die Datei index.html sehen. Und ich werde einfach den Inhalt dieser Datei lesen , der genau den Angaben entspricht. Hallo World. Wir haben unsere Datei erfolgreich vom lokalen Host in den Container unter diesem angegebenen Pfad kopiert . Wenn ich den Inhalt dieser Datei überprüfen möchte , ohne den Container zu betreten, kann ich das tun, indem ich den Befehl pod man exec verwende , um den cat-Befehl an diesem angegebenen Pfad auszuführen . Jetzt ist es an der Zeit, hinter uns selbst aufzuräumen. Zuerst werde ich alle Container mit dem Pod man ps abzüglich eines Befehls auflisten , und wir können dort deutlich unseren Web-App-Container sehen. Dann stoppe ich den Container mit dem Befehl Pokemon stop web app. Danach werde ich den Container mit dem Befehl port man RM entfernen . Als Nächstes liste ich alle auf meinem lokalen Host vorhandenen Bilder mit dem Befehl Pokemon images auf Ich werde mein vorhandenes Image mit dem Befehl pot man RMI entfernen . Und ich werde wieder alle Bilder mit dem Befehl Pokemon images auflisten . Und wir können deutlich sehen , dass wir keine Bilder haben. Und wenn wir den Pod man ps abzüglich eines Befehls verwenden, können wir auch deutlich erkennen, dass diesem Zeitpunkt keine laufenden Container mehr laufen. Also herzlichen Glückwunsch. Sie haben jetzt ein grundlegendes Verständnis dafür, wie Sie containerisierte Dienste mithilfe des Container-Man-Man-Man-Management-Tools verwalten containerisierte Dienste mithilfe . sehen uns im nächsten Modul, in dem wir über die Verwaltung von Container-Images sprechen werden . 5. Verwalten von Bildern: Im vorherigen Modul haben wir über Containermanagement gesprochen . Schauen wir uns nun auch die Möglichkeiten an, wie wir Images in unserer Umgebung verwalten können . Also lasst uns ohne weitere Umschweife loslegen. Schauen wir uns nun einige wichtige Befehle für Verwaltung von Bildern innerhalb von Postboten an. Wir haben zuvor einen gegossenen Mannpool gesehen. Mit dem Befehl port man poor können wir jetzt ein Container-Image lokal aus einem Projektarchiv speichern. Wir können alle Container-Images mit den Pot-Man-Images auflisten . Und wenn wir ein lokal gespeichertes Bild entfernen möchten, können wir den Pod-Man-RMI-Befehl verwenden , der den Image-Namen angibt. Nehmen wir nun an, wir möchten ein Bild umbenennen. Wir können dies tun, indem wir den Pac-Man-Tag-Befehl den ursprünglichen Bildnamen und den neuen Image-Namen angeben . Wir würden es gerne geben. Wenn wir ein lokal sicheres Container-Image in ein Register hochladen möchten, können wir das mit dem Pac-Man-Push-Befehl tun. Wenn wir, wie zuvor besprochen, detaillierte Informationen zu einem lokal gespeicherten Container-Image erhalten möchten , detaillierte Informationen zu einem lokal gespeicherten Container-Image , können wir dies mit dem Befehl pot man inspect tun . Nehmen wir nun an, wir arbeiten in einem Container wie einem HTTP-Webserver. Und wir haben unsere Datei index.html geändert und möchten ein neues Image erstellen , das auf diesem geänderten Container basiert. Wir können das tun, indem wir den Befehl pod men commit , um ein Image aus einem laufenden Container zu erstellen. Nachdem wir nun einen Überblick über alle wichtigen Befehle für die Bildverwaltung haben , gehen wir in die Demo. Zuerst werde ich die Suche von port man verwenden, um ein adäquates HTTPD-Bild zu finden. Ich scrolle innerhalb der Ergebnisse nach oben. Und wieder werde ich das erste Ergebnis kopieren, nämlich HTTP D24 RHEL sieben. Ich würde den Bildschirm löschen und jetzt werde ich den Pac-Man-Pool verwenden um das Bild aus dem Repository herunterzuladen und lokal zu speichern. Warten wir jetzt ein bisschen, bis das Ziehen abgeschlossen ist. Jetzt, wo der Download abgeschlossen ist, kann ich Pac-Man-Images verwenden, um zu überprüfen, ob das Image erfolgreich war. Und wir können es hier sehen. Jetzt werde ich den Port Man Inspector verwenden, um das Bild zu untersuchen. Wie Sie sehen können, gibt uns Pokemon Expect detaillierte Informationen zu diesem bestimmten Bild. Wir können den Benutzer sehen , unter dem das Bild läuft. Wir können die exponierten Häfen sehen. Sie können eine Zusammenfassung dessen sehen, wofür das Bild gedacht ist, eine detaillierte Beschreibung dazu . Jetzt möchte ich das Bild mit dem Befehl boatman tag zurückziehen und den ursprünglichen Bildnamen angeben, und das neue Tag das ich ihm geben werde, wird meine neue Tag-Version 2 genannt. Ich kann es mit der Arbeit mit dem Pokemon images Command N erstellen . Wir können hier deutlich sehen localhost Slash Minute Tag Version 2. Jetzt werde ich den Port Man Run-Befehls-Container verwenden , der im getrennten Modus ausgeführt wird. Der Container wird als Web-App bezeichnet und basiert auf dem Bild namens Minuten-Tag Version 2. Wie Sie sehen können, wurde der Container erfolgreich erstellt. Und jetzt werde ich das Pac-Man ps minus einem Befehl ausführen , um zu überprüfen , ob es läuft. Und was wissen Sie, dass es angemessen funktioniert? Als nächstes werde ich ein Terminal innerhalb des Containers mit dem Befehl pot man exact minus IT slash bin slash bash öffnen . Dort werde ich einen Echo-Test machen und die Ausgabe in die Slash-Var-Schrägstrich-HTML-Slash-Datei index.html umleiten . Innerhalb dieses Containers verlasse ich den Container. Ich werde Pac-Man ps minus a ausführen. Auch hier können wir sehen, dass es läuft. Und ich werde den Befehl Pac-Man commit verwenden um ein Bild zu erstellen auf diesem geänderten Container basiert, Pod Men Commit Web-App, meinem neuen Image, Version 1, können wir sehen, dass das Bild war erfolgreich erstellt. Ich werde den vorhandenen Container namens web map stoppen und ihn mit dem Befehl poor man RM entfernen. Ich lösche den Bildschirm. Und jetzt werde ich einen neuen Container erstellen im getrennten Modus mit dem gleichen Namen läuft, aber jetzt basierend auf dem festgeschriebenen Image, das wir zuvor erstellt haben, wurde der Container erfolgreich erstellt und jetzt werde ich den Befehl pot man exec verwenden um einen cat-Befehl innerhalb des Containers auszuführen , um zu sehen, ob die Datei vorhanden ist. Cat Schrägstriche wie v, V, v Schrägstrich HTML Schrägstrich index.html. Und wir können deutlich sehen, dass die Ausgabe wie erwartet ist Südtests, also hat es perfekt funktioniert. Jetzt werde ich den Befehl Pokemon stop verwenden , um meinen Web-App-Container zu stoppen. Ich werde es mit dem Befehl pod man RM entfernen. Ich führe jetzt den Pac-Man images Befehl aus, um alle Bilder aufzulisten , die in meinem lokalen Dateisystem gespeichert sind. Und ich werde jeden von ihnen mit dem Pokemon RMI-Befehl entfernen . So stolzer Mann, RMI, Minute Image Version 1, Pot Man, RMI, mein neuer Tag 2 und armer Mann RMI Registry Dot Access, beide Red Hat.com, können wir überprüfen, dass unsere Systeme gereinigt werden von Ausführen des Pot Man Images-Befehls und Abteilung ps abzüglich eines Befehls und es ist nichts mehr übrig. Herzlichen Glückwunsch, Sie haben jetzt ein grundlegendes Verständnis für die Verwaltung von Container-Images mit dem Pac-Man-Containermanagement-Tool. sehen uns im nächsten Modul , in dem wir über kurzlebige und persistente Speicherung sprechen werden . 6. Persistente Lagerung: Hallo und willkommen zurück. In diesem Modul werden wir über die Lagerung von Containern sprechen und lernen, wie man persistente Lagerung in Containern einbaut. Weil Container standardmäßig kurzlebigen Speicher haben. Das bedeutet also, dass alles, was wir im Moment der Zerstörung in einem Container getan haben , weg ist. Also lass uns loslegen. Der Speicher, den der Container verwendet, ist also kurzlebig. Die kurzlebige Natur des Container-Speichers bedeutet, dass sein Inhalt verloren geht, nachdem Sie den Container entfernt haben , indem ein Verzeichnis vom Host innerhalb des Containers mounten, Sie dem Container geben persistenter Speicher. Alle Änderungen und Inhalte des eingehängten Verzeichnisses werden das Host-Dateisystem geschrieben. Somit bleiben sie bestehen, nachdem der Behälter zerstört oder entfernt wurde. Beachten Sie, dass Sie die Dateisystemberechtigungen berücksichtigen müssen Dateisystemberechtigungen berücksichtigen , wenn Sie ein persistentes Volume bereitstellen das der Container verwenden kann. Jetzt unterstützt das Pokemon-Containermanagement-Tool wurzellose Container, wenn Sie den Container als Benutzer-Root des Hosts ausführen , dann stimmen UID und GID mit denen innerhalb des Containers überein. In einem Container ohne Root hat der Benutzer Root-Zugriff innerhalb des Containers, da Pod-Man den Container im Namespace des Benutzers erstellt, der Root-Benutzer des Containers der UID des Benutzers zugeordnet wird. innerhalb des Host-Rechners. Jeder Benutzer innerhalb des Containers ordnet sich einem Benutzer innerhalb des Bereichs von 100 Tausend zu. Schauen wir uns nun einige nützliche Befehle zum Einhängen von persistentem Speicher in Containern an. Mit der Padma Unshare Cat Slash Proc Schrägstrich Schrägstrich UID Map. Wir können diese UID-Mapping von Benutzern innerhalb des Containers sehen . Wir deportieren Mann, Unshare Katze Schrägstrich Proc Schrägstrich JD Map. Wir können das GID-Mapping sehen. Wenn wir nun persistenten Speicher innerhalb eines Containers einhängen möchten , verwenden wir den Befehl pod man run mit der minus v-Option. Der erste Befehl erstellt einen HTTP-Webserver, auf dem der Inhalt aus dem eingehängten Verzeichnis abgerufen wird Schrägstrich, Webinhalte auf dem Host werden im Schrägstrich, var, Schrägstrich, www, Punkt, Schrägstrich, HTML-Pfad) eingehängt Schrägstrich, var, Schrägstrich, www, Punkt, Schrägstrich, HTML-Pfad innerhalb des Containers. am Ende des Pfads ein großes Z hinzufügen, stellen Sie auch sicher, dass Sie den richtigen SE Linux-Kontext festlegen . Kommen wir jetzt zur Demo und machen die Dinge ein bisschen praktischer. Beginnen wir also mit dieser Demo, indem wir uns zunächst die GID- und UID-Zuordnungen mit dem Befehl pod man unshare ansehen die GID- und UID-Zuordnungen . Pod Mann, Unshare Katze Schrägstrich, Proc Schrägstrich, Schrägstrich Ihre ID-Map. Und wir können die Mappings hier sehen. Und Birdman Unshare Cat Slash Proc Slash Zellengröße JID. Und wir können die GID-Zuordnungen hier sehen. Jetzt, wo wir das haben, wollen wir tatsächlich einen neuen Pfad erstellen. Ich erstelle ein Verzeichnis namens Web Content in der Startseite meines Benutzers. In diesem Ordner werde ich die IN eingehängte Nachricht wiedergeben und die Ausgabe in eine Datei namens index.html umleiten . Ich werde jetzt den Bildschirm leeren und uns ansehen welche Bilder wir mit dem Pac-Man-Befehl images zur Verfügung haben . Wir haben keine. Deshalb werde ich den Befehl pod man pull verwenden, um ein Image eines HTTP-Servers lokal herunterzuladen. Und warten wir einfach ein bisschen bis das Bild heruntergeladen wurde. Das Bild wurde erfolgreich heruntergeladen. Und wir können den Befehl pod man run verwenden, um einen Container namens Web App zu erstellen. Es wird im getrennten Modus ausgeführt und ich werde das Webinhaltsverzeichnis, das ich zuvor von meinem Host erstellt habe , in den Slash var slash www slash HTML-Ordner innerhalb des Containers mounten Beibehaltung der korrekten SELinux-Kontexte. Indem ich am Ende das große Z hinzufüge, binde ich den Port durch die Option minus p. Daher wird Port 8082 des Hosts an Port 8080 des Containers gebunden. Und ich werde das Bild verwenden , das ich zuvor heruntergeladen habe. Wie wir sehen können, wenn wir den Pod man ps abzüglich eines Befehls verwenden, der Container läuft der Container und der Port ist korrekt begrenzt. Wenn ich einen Curl-Befehl auf dem lokalen Host über Port 8082 ausführe, können wir die Meldung I am Mountain sehen. Jetzt werde ich den Befehl boatman exec verwenden, um ein N-Terminal innerhalb des Containers zu erhalten ein N-Terminal innerhalb des Containers und ich werde eine neue Nachricht wiederholen. Diese Nachricht bedeutet, dass ich geändert wurde und die Standardausgabe ausgeben werde, die Datei, die wir im Container eingehängt haben. Also index.html. Ich werde den Container mit dem Befehl exit verlassen, und jetzt lese ich die Datei von den Einhängepunkten, also von Webinhalten. Und wir können sehen, dass beide Werte gemountet sind und ich modifiziert habe. Wenn ich den Befehl curl verwende, können wir dieselbe Ausgabe sehen. Jetzt stoppe ich den Container und entferne den Container mit dem Befehl pod man RM. Und ich werde es neu erstellen, nur um die Natur des persistenten Speichers zu erkennen. Testen wir das also, indem wir einen curl-Befehl auf dem lokalen Host auf Port 8082 ausführen . Wie Sie sehen können, ist die Nachricht unverändert geblieben. Das liegt daran, dass der Speicher dieses speziellen Containers für bestimmten Pfad auf dem lokalen Host gespeichert wird. Obwohl der Container zerstört wurde, blieb das, was innerhalb des Webinhaltsverzeichnisses geschrieben wurde was innerhalb des Webinhaltsverzeichnisses geschrieben wurde, dauerhaft. Vielen Dank und wir sehen uns im nächsten Modul, in dem wir über Portbindung sprechen werden . 7. Port Bindung: Hallo und willkommen zurück. Im vorherigen Modul haben wir über den kurzlebigen Speicher und den persistenten Speicher gesprochen und gelernt, wie man Containern dauerhaften Speicher gibt, damit wir nichts verlieren, wenn sie zerstört werden. In diesem Modul werden wir über die Port-Bindung sprechen und wie die Ports vom lokalen Host an die Container-Spots gebunden werden, um sie auch von außen zugänglich zu machen . Also lass uns loslegen. Was ist Containerport-Bindung? Nun, die Verbindung zu einem Container bedeutet, dass Clients zwei Ports des Hosts verbinden müssen , die den Datenverkehr an die Container-Sports oder die freiliegenden Ports des Containers senden . Wir können Ports des Hosts denen zuordnen, auf die innerhalb des Containers zugegriffen werden kann, um Container auch von außen zugänglich zu machen, nicht nur vom lokalen Host aus. Denken Sie daran, dass wir, wenn Sie sie auch von außen zugänglich machen möchten , auch die Firewallregeln überprüfen müssen, um sicherzustellen, dass jeglicher Datenverkehr auf diesen Ports zulässig ist. In diesem Sinne schauen wir uns einige wichtige Befehle an, um Container-Port-Bindungen durchzuführen. Um nun einen Port vom lokalen Host an den Container zu binden , verwenden wir den Befehl pod man run mit der minus p-Option. unserem ersten Beispiel wird ein containerisierter HTTPD-Webserver namens Web-App erstellt , bei dem der gesamte Datenverkehr von Port 8082 des Hosts an Port 8080 des Containers weitergeleitet wird. Beachten Sie, dass der Container Verkehr auf diesem Port akzeptieren muss . Das heißt, es muss bloßgestellt werden. Und wir können sehen, dass wir, indem wir den Befehl pot man in spec für das Container-Image verwenden, indem wir den Portmanteau-Port minus einem Befehl verwenden, alle Port-Zuordnungen sehen können. Und indem wir den Befehl pod man port verwenden , der den Containernamen angibt, können wir die Port-Zuordnung für einen Namencontainer sehen. Vergessen Sie nicht, mithilfe des Firewall-CMD-Befehls eine persistente Firewallregel zu erstellen mithilfe des Firewall-CMD-Befehls eine persistente Firewallregel , um den Datenverkehr auf diesem Port zuzulassen. Jetzt haben Sie einen guten theoretischen Überblick darüber, was Port Mapping ist und welche Funktion es innerhalb des Port Mapping ist und Containermanagements hat. Gehen wir zur Demo. Zunächst werde ich den Befehl Pokemon images verwenden , um zu zeigen, dass ich ein lokal gespeichertes HTTPD-Container-Image habe . Dann werde ich den Befehl port man run verwenden, um einen Container namens Web App running and detached mode zu erstellen , der den gesamten Datenverkehr von Port 8082 von der Hostseite an Port 8080 weiterleitet die Containerseite. Wie wir durch den Pod Man ps abzüglich eines Befehls sehen können, ist der Container betriebsbereit. Jetzt werde ich einen stolzen man exec Befehl mit der minus i t-Option verwenden , um ein aktives Terminal innerhalb des Containers zu erhalten. Hier werde ich die Nachricht hello world wiedergeben und die Ausgabe in die Datei slash var slash www slash HTML slash index.html umleiten . Dann verlasse ich den Container mit dem Befehl exit. Jetzt verwenden wir den port man port minus einen Befehl, um alle Port-Zuordnungen zu sehen. Und wir können deutlich sehen, dass der Datenverkehr vom lokalen Host auf Port 8082 auf Port 8080 des Containers umgeleitet wird. Wir können das auch sehen, indem wir den Befehl port man port verwenden, der den Namen web app angibt. Jetzt testen wir das mit einem curl-Befehl, und wir rufen den lokalen Host auf Port 8082 auf. Und wir können die helloworld-Botschaft deutlich erkennen. Es hat also perfekt funktioniert. Um den Datenverkehr von außerhalb des lokalen Hosts zugänglich zu machen, füge ich jetzt von außerhalb des lokalen Hosts zugänglich zu machen, auch eine Firewallregel um den Datenverkehr auf Port 8082 zuzulassen. Sie bittet mich um Administratorrechte. Ich werde sie geben und es war erfolgreich. Jetzt ist unser containerisierter Apache-Webserver sowohl vom lokalen Host als auch außerhalb des lokalen Hosts auf Port 8082 zugänglich sowohl vom lokalen Host als auch . Wir können auch die Port-Bindung sehen, selbst wenn wir ein Pokemon ps abzüglich eines Befehls ausführen, können wir hier deutlich sehen, dass der Datenverkehr vom lokalen Host auf Port 8080-Slash-TCP auf der Containerseite umgeleitet wird . Woher weiß ich, dass ich direkt zu Port 8080 auf der Containerseite gehen sollte , hier kommt Pokemon Inspect ins Spiel. Wir können das lokal sichere Container-Image überprüfen und werden uns die exponierten Häfen ansehen. Die freiliegenden Anschlüsse sind tatsächlich das, was für den Container zugänglich ist. Woher lässt es Verkehr zu? Deshalb wusste ich, dass Port 8080 an dem ich den Datenverkehr von Port 8082 umleiten sollte. Jetzt müssen wir nur noch hinter uns selbst aufräumen, unsere Container-Web-App mit dem Befehl man stop stoppen. Dann werde ich es mit dem Pokemon RM-Befehl entfernen. Und zuletzt werde ich das Bild mit dem Pokemon RMI-Befehl entfernen . Vielen Dank und wir sehen uns im nächsten Modul, in dem wir über Container Networking sprechen werden . 8. Container: Hallo und willkommen zurück. Im vorherigen Modul haben wir ein wenig über die Port-Zuordnung und das Binden eines Host-Ports an einen freiliegenden Container-Port gesprochen über die Port-Zuordnung und . Jetzt werden wir uns eingehender mit Container Networking befassen. Wir werden sehen, wie der arme Mann in der Lage ist, Netzwerke zu schaffen und Namen innerhalb dieser Netzwerke aufzulösen. Also lasst uns ohne weitere Umschweife loslegen. Schauen wir uns nun einige wichtige Schritte für Container Networking an. Der wichtige Befehl hier ist beide Männer vernetzen sich mit dem Befehl postman network create. Wir können ein Netzwerk erstellen, das seinen Gateway-Namen und sein Subnetz angibt . Die Poor-Man-Netzwerkprüfung, bei der ein Netzwerkname angegeben wird, können wir Details zu einem vorhandenen Netzwerk erhalten. Wir deportieren Man Network Creates unter Angabe eines Containernamens. Wir können den Container mit einem vorhandenen Netzwerk verbinden. Wir deportieren das entfernte Mannnetzwerk. Wir können ein bestehendes Netzwerk entfernen und wir deportieren den Befehl man run. Wir können die Netzwerkoption minus minus hinzufügen und den Container bei der Erstellung mit einem Netzwerk verbinden. Nachdem wir nun einen guten Überblick über wichtige Befehle im Zusammenhang mit Container Networking haben, wollen wir uns mit der Demo befassen. Um diese Demo zu starten, verwende ich den Befehl port man images, um Ihnen mein lokal gespeichertes HTTPD-Container-Image zu zeigen. Jetzt benutze ich den Suchbefehl des armen Mannes, um nach einem achten Red Hat Enterprise Linux Image zu suchen. Ich habe es kopiert und jetzt verwende ich die Post Man Paul-Befehle , um es lokal herunterzuladen. Warten wir also einfach ein bisschen, bis der Download abgeschlossen ist. Jetzt werde ich den Befehl poor man network create verwenden, um ein Netzwerk für meine Container zu erstellen. Das Subnetz wird durch die Subnetzoption minus angegeben , und es wird 192168 Punkt ein Punkt 0 Schrägstrich 24 sein. Und das Gateway wird über die Minus-Minus-Gateway-Option spezifiziert , und es wird 192168 Punkt eins, Punkt eins sein. Der Name meines Netzwerks wird mein Netzwerk sein. Nachdem das Netzwerk erfolgreich erstellt wurde, können wir mit der Erstellung meiner containerisierten Dienste fortfahren. Zuerst werde ich den Pac-Man-Befehl run verwenden, um einen Container namens Client zu erstellen , der im getrennten Modus ausgeführt über die Minus-Minus-Netzwerkoption mit persistentem Speicher mit meinem Netzwerk verbunden ist. Und das Basisimage hinter diesem Container wird das Red Hat Enterprise Linux Acht-Basisimage sein. Wie Sie sehen können, wurde der Container erfolgreich erstellt und ich werde Container mit dem Pokemon ps minus einer Option auflisten oder ausführen , und es läuft. Dann erstelle ich meinen zweiten containerisierten Dienst mit dem Befehl Pokemon run. Dies wird ein Apache-Webserver namens Webserver sein, im getrennten Modus läuft auch mit meinem Netzwerk verbunden ist. Es wird das http-D24-L7-Image register.access.com verwenden, das ich lokal gespeichert habe. Dieser zweite Container wurde ebenfalls erfolgreich erstellt. Wir können sehen, wie sie beide laufen und laufen. Jetzt verwende ich den Befehl pod man network ls um alle unsere verfügbaren Netzwerke zu sehen. Und wir können mein Netzwerk hier deutlich sehen. Und um detailliertere Informationen über mein Netzwerk zu erhalten, verwende ich den Befehl postman network inspect , der den Namen meines Netzwerks angibt. Und wir können hier sowohl das Subnetz als auch das Gateway sehen. Nachdem wir nun einen guten Überblick über unser Netzwerk und unsere Container haben, wollen wir sehen, ob alles funktioniert. Ich werde den Befehl port man exec mit der minus IT-Option verwenden , um ein Terminal innerhalb des Webserver-Containers zu öffnen . Hier verwende ich den Befehl echo und leite seine Ausgabe in die Datei slash var slash www slash HTML slash index.html um. Um eine personalisierte Nachricht zu erstellen. Genauer gesagt, hallo, ich werde diesen Container verlassen, und jetzt werde ich den anderen Container, den Client-Container, erneut mit der Option Pot Man Exempt minus IT betreten den anderen Container, den Client-Container, , um ein Terminal innerhalb des Clients zu erhalten , auf dem Red Hat Enterprise Linux acht läuft. Hier werde ich den curl-Befehl verwenden, um den Webserver auf Port 8080 zu locken , der freigelegt wurde. Und wir können deutlich sehen, dass die Botschaft wie erwartet ist. Herzlichen Glückwunsch, wir haben zwei Container erstellt. Einer, der in einem containerisierten Apache-Webserver läuft, auf dem Red Hat Enterprise Linux acht läuft, haben wir ein Netzwerk zwischen den beiden erstellt und wir können sehen, dass sie kommunizieren und sie auch benannte Serverauflösung haben. Vielen Dank und wir sehen uns im nächsten und letzten Modul. 9. Bilder erstellen: Willkommen zum letzten Modul unseres Kurses. Hier lernen wir, wie man Container-Images aus Dateien erstellt, um unsere eigenen benutzerdefinierten Images zu erstellen unsere eigenen benutzerdefinierten Images und sie an unsere eigenen Bedürfnisse anzupassen. Also lasst uns ohne weitere Umschweife loslegen. Zunächst werden wir über die Schritte zum Erstellen eines Container-Images sprechen . Damit Birdman Images automatisch erstellen kann , indem er die Schritte aus einer Docker-Datei liest, fragen Sie sich vielleicht, was eine Docker-Datei ist? Eine Docker-Datei ist ein Textdokument, das alle Befehle enthält , die ein Benutzer zum Zusammenstellen eines Images aufrufen kann . Docker-Dateien machen es jetzt auch einfach, neue Container-Images basierend auf einem vorhandenen zu erstellen, wie die Erweiterung einer bewerteten Enterprise Linux-Container-Image-Breite und HTTPD-Funktionalität. Lassen Sie uns also weitermachen und sehen, wie wir tatsächlich ein Container-Image erstellen. Erstellen Sie zunächst ein Arbeitsverzeichnis, das alle erforderlichen Dateien zum Erstellen des Container-Images enthält . Dann erstellen wir eine Docker-Datei. Eine Docker-Datei ist nur ein Textdokument, das alle Befehle enthält , die ein Benutzer zum Zusammenstellen eines Images aufrufen kann . Und schließlich verwenden wir den Befehl depots man build. Wir verwenden den Befehl Poll Man build , um das Image basierend auf der Docker-Datei und anderen Ressourcen innerhalb des Arbeitsverzeichnisses zu erstellen der Docker-Datei und anderen Ressourcen . Schauen wir uns nun ein Beispiel für ein Dockerfile an und sehen uns unsere Möglichkeiten an. Jetzt haben wir hier ein einfaches Dockerfile. Das Von-Feld zeigt an , welches Bates-Bild erweitert werden soll. Das Feld label gibt an , welche Bezeichnung dieses Container-Image haben wird. Das Rosenfield führt Befehle innerhalb des Basisbilds aus, das exponierte Feld legt Ports von der Containerseite her offen. Das EM-Feld legt Umgebungsvariablen innerhalb des Containers fest. Das Kopierfeld wird aus dem Arbeitsverzeichnis in den Container kopiert . Das Benutzerfeld legt den Benutzer fest, unter dem der Container ausgeführt wird , da das Hinzufügen-Feld dem Kopierfeld ähnelt. Das Feld für den Einstiegspunkt gibt den Befehl an, mit dem der Container beginnt. Und wir können den Container erstellen, indem wir diese Docker-Datei mit dem Befehl pod men build analysieren . Lassen Sie uns all dieses Wissen in die Praxis umsetzen , indem wir zur Demo übergehen. Jetzt starte ich diese Demo, indem ich den Inhalt meines Arbeitsverzeichnisses aufliste . Ich habe eine Datei index.html , die die Nachricht hello world enthält, und eine vorgefertigte Docker-Datei , die ich zuvor zusammengestellt habe. Schauen wir es uns an. Es erweitert also das Red Hat Enterprise Linux Seven Image, den Benutzer, unter dem der Container läuft, als root. Es führt eine yum-Installation minus y HTTPD aus. Um den HTTPD-Dienst zu installieren, macht er Port 80 verfügbar und kopiert die Datei index.html aus dem Arbeitsverzeichnis überall in den Container-Schrägstrich var slash slash HTML-Slash index.html Pfad. Jetzt werde ich den Befehl port man build verwenden , um mein Image zu erstellen. Ich spezifiziere die minus d-Option für das Tag, die Mutter mein Bild, den Namen meines HTTPD-Bildes, gibt . Jetzt verwende ich den Pac-Man-Befehl images, um zu sehen, ob das Bild erstellt wurde. Und wir können es hier sehen, localhost zerschneidet mein HTTPD-Bild. Jetzt testen wir es. Ich werde den Befehl pot man run verwenden angibt, dass der Container im getrennten Modus ausgeführt wird. Der Name meines Containers wird Web App sein. Ich werde Port 8082 an Port 80 des Containers weiterleiten 8082 an Port 80 des Containers und mein eigenes erstelltes Image verwenden. Der Container scheint in Betrieb zu sein. Die Portweiterleitung scheint zu funktionieren. Machen wir also einen Curl auf dem lokalen Host auf Port 8082, und wir können die Hello World-Botschaft deutlich sehen. Die Datei wurde also erfolgreich kopiert. Betreten wir den Container mit den Optionen Pac-Man exec minus i t, um ein Terminal innerhalb des Containers zu öffnen. Wie Sie sehen können, wurde das Terminal als root geöffnet. Also wird der Benutzer, den ich in der Docker-Datei angegeben habe , verwendet und die Datei , die wir vom lokalen Host in den Container kopiert haben , ist vorhanden. Die Docker-Datei verlief also wie versprochen. Wir haben ein containerisiertes Red Hat Enterprise Linux Seven Betriebssystem, das auf einem HTTPD-Dienst läuft. Mit dem Abschluss dieser Demo haben wir auch unseren Crashkurs zum Containermanagement abgeschlossen . Ich möchte mich bei Ihnen für Ihre Teilnahme bedanken und vielleicht sehen wir uns in anderen zukünftigen Kursen. Ich danke dir vielmals.