Transkripte
1. Einführung in Container: Eins. Heute werden wir über Docker
sprechen Aber bevor wir
zum Docker-Teil kommen, möchte
ich, dass ihr zuerst das Konzept
der virtuellen
Maschine versteht Konzept
der virtuellen
Maschine Wenn es um
virtuelle Maschinen geht, kennen
wir eine
Organisation namens VMware, die der
Welt ein Geschenk namens
Virtual Machine gemacht hat , damit wir
unsere Anwendung auf
einem einzigen Server ausführen können unsere Anwendung auf
einem einzigen Server Hier können Sie also sehen, dass
wir in unserer Infrastruktur im Grunde
diesen Hypervisor der
VMware-Software installieren werden , und wir können ein
Gastbetriebssystem installieren, sodass wir
drei Anwendungen ausführen können Das heißt, um
eine kostenlose Anwendung auszuführen, benötigen
wir ein Betriebssystem
auf einer einzigen Hardware Das war definitiv wieder
ein gutes Konzept, weil
wir
es nicht benötigen , um
irgendwelche Softserver zu beschaffen, wann immer wir unser Geschäft
erweitern wollen Aber es gab ein Problem mit diesem Konzept der virtuellen
Maschine Dass es ein eigenes
Betriebssystem benötigt. Das heißt, wenn Sie drei Anwendungen
starten müssen, benötigen
Sie ein dreifaches
Gastbetriebssystem, oder? Wenn es um diese Betriebssysteme
geht, benötigten
sie definitiv ihren eigenen Speicher, PC und andere Ressourcen. Es war also tatsächlich eine Herausforderung
für die Organisation. Hier kam also das Konzept des Containers
ins Spiel, oder? Um den
Mangel an VMs zu beheben, wurden
Container tatsächlich
entwickelt Nun wollen wir
den großen Unterschied zwischen
einer VM und einem Container verstehen ,
denn ein wesentlicher Unterschied , den Sie verstehen müssen, ist, dass Container nicht
ihr vollständiges Betriebssystem benötigen ihr vollständiges Betriebssystem Wenn es um
Betriebssysteme geht, gibt es zwei Teile. Einer ist der Kernel, direkt mit
Ihrer Hardware kommuniziert, und einer ist Ihre Software
, die Sie
auf diesem bestimmten
Betriebssystem installieren . Im Kernel-Teil, wenn
es um Container geht, können
Sie sehen, dass Sie eine Container-Engine
installieren werden. Sie benötigen kein vollständiges
Betriebssystem. Diese speziellen Container
verwenden den zugrunde liegenden Kernel-Teil des
Container-Hosts. Das heißt, wenn es
um das Betriebssystem geht, gibt es zwei Teile, einen für den
Kernel und einen für Software. Der Kernel-Teil wird von diesem
Host-Betriebssystem
verwendet Das bedeutet, dass sich der Container
das Host-Betriebssystem teilt . jedoch
drei Anwendungen auf Ihrer virtuellen Maschine Wenn Sie jedoch
drei Anwendungen auf Ihrer virtuellen Maschine ausführen müssen, benötigen
Sie die vollständige
Installation von estos In Containern benötigen
Sie jedoch nicht die vollständige Installation
des Gastbetriebssystems Es wird das
Host-Betriebssystem tatsächlich gemeinsam nutzen. Dort
wurden die Container also entwickelt, oder? Ich hoffe also, dieser Teil ist
klar. Danke euch allen.
2. Linux-Container: In Ordnung, also lasst uns
mehr über Container erfahren. Also hatten wir eine Diskussion. Container sind
leicht, da sie
nicht die komplette
Betriebssysteminstallation benötigen. Sie werden sich den Teil des
Host-Kernel-Betriebssystems teilen , richtig. Aber lassen Sie uns
mehr über Container erfahren. Container sind eigentlich nicht neu. Sie existierten viele
Jahre, und tatsächlich wurden
einige der Container als LT usw.
entwickelt. Das waren Linux-Container. Aber zu Beginn, als es für
die Linux-Umgebung entwickelt wurde, NX
definitiv diese Container entwickelt , LXC LXT Aber sie waren sehr
schwierig einzurichten. Diese Container, wenn man Container starten
musste, war
das sehr schwierig. Jetzt gibt es eine
Organisation namens Docker. DeRNC hat die
Container-Technologie einfach gemacht Wenn Sie jetzt Container
starten möchten, benötigen
Sie eine Software Sie müssen
zunächst
eine Docker-Software
auf Ihrer Hardware installieren eine Docker-Software
auf Ihrer Sie werden
es grundsätzlich auf Ihrem Betriebssystem installieren. Dann können Sie Container erstellen. Also im Grunde hat Docker
den Container einfach gemacht, oder? Docker hat diese
Lx-Container also tatsächlich verwendet, oder? Also, wenn Sie mich fragen, Container sind neu, nein,
sie waren es tatsächlich, sie
sind eigentlich nicht Sie existieren seit
vielen Jahren, oder? Aber Docker hat diese
Container-Technologie einfach gemacht. Deshalb verwenden wir Docker-Engine, wenn wir unsere Container
ausführen wollen, oder Also ich hoffe, dieser Teil ist klar,
Mann. Danke euch allen.
3. Installation von Docker: Okay. In Ordnung.
In diesem Vortrag werden
wir also Docker installieren Also habe ich
eine virtuelle Maschine
im Grunde auf Ihre Beteiligung hin erstellt im Grunde auf Ihre Beteiligung Also, wenn Sie Zugriff auf einen
der Cloud-Anbieter
wie Is AWS oder Google Cloud haben. Sie können dort eine virtuelle
Maschine erstellen. Also habe ich
im Grunde eine
virtuelle Ubuntu-Maschine erstellt , damit ich Docker auf einer virtuellen
Bento-Maschine installieren kann Auch wenn ihr keinen
Zugriff auf einen
der Cloud-Anbieter
habt , könnt ihr VMware
Workstation oder C Virtual Box herunterladen und
Berto darauf installieren, sodass ihr auch
Docker installieren könnt, Also werde ich jetzt eine Verbindung zu meiner virtuellen Ubuntu-Maschine ,
damit ich
Docker darauf installieren kann Lassen Sie mich Sie also zur
Votal-Maschine bringen. Um also eine Verbindung zu
meinem Uber VTure-Computer herzustellen, verwende
ich eine Software
namens Kit Pah Wenn ich also mit der rechten Maustaste auf meinen
Dk-Stopp klicke und zur Option Showmre gehe, findest
du diese
Software namens Kit Pash hier, oder? Es gibt also
auch andere Software , die Sie verwenden können, wie
Putty, die Sie verwenden können Aber wenn Sie diese
Software namens Kit Pash verwenden möchten, erkläre
ich Ihnen, wie Sie diese Software
herunterladen Also gehe ich
zuerst zu Google Crom und hier drüben schreibe
ich Git für Windows,
G für Windows, ich werde Alles klar? Also, sobald ich das für Windows
geschrieben habe, würde
diese Seite
hier auftauchen, hyphensm.com Und Sie können die Software installieren. Sie können den
Anweisungen folgen und die Software
als Kit für vier Fenster installieren. Sobald es installiert ist, können
Sie mit der rechten Maustaste auf eine beliebige Stelle auf Ihrem Dickstop
oder Ihrem Laufwerk Drive, C-Laufwerk klicken und die Software
starten Sie müssen nur mit der rechten
Maustaste klicken und Sie werden es finden. Um also eine Verbindung zu
meiner virtuellen Ubuntu-Maschine herzustellen, gebe
ich meine Anmeldeinformationen Overhare an. Also warte einfach darauf Also so
werde ich SSH Hyphen Do verwenden. Also habe ich beim Erstellen
der virtuellen Maschine in der Umgebung die schlüsselbasierte
Authentifizierung
anstelle der
passwortbasierten Authentifizierung verwendet anstelle der
passwortbasierten Sie müssen also bei
der Erstellung der virtuellen Maschine
angeben, dass
ich diesen Schlüssel heruntergeladen habe, und wir müssen ihn angeben während wir eine Verbindung
zur virtuellen Maschine herstellen. Und hier ist der
Benutzername
eine öffentliche IP-Adresse, eine öffentliche IP-Adresse die ich verwenden werde, um eine Verbindung
zu dieser virtuellen Maschine herzustellen. Also drücke ich jetzt die Eingabetaste. Also werde ich sagen, ja, ich
möchte weitermachen. Jetzt können Sie sehen, dass ich meiner virtuellen Maschine verbunden
wurde. Das ist meine
virtuelle Ubuntu-Maschine , auf der ich
als Ihre Umgebung erstellt habe. Jetzt muss ich
Docker darauf installieren. Zuallererst
melde ich mich beim Root an, also im Grunde als
Administratorbenutzer Ich melde mich als
Administratorbenutzer ,
damit ich
Docker darauf installieren kann Ordnung. können
Sie es anhand
der Docker-Dokumentation installieren Sie können es
hier anklicken. Jetzt können Sie der Dokumentationsseite
hier
folgen und Docker installieren Hier drüben. Das kannst du sehen. Die Ratenzahlungsmethode.
Wie möchten Sie installieren Sie müssen also
über das App-Repository installieren, Sie müssen die
Docker-Pakete erstellen So können Sie es installieren. Aber ich werde Ihnen eine einfache Möglichkeit nennen, Docker
im Grunde herunterzuladen, oder? Es gibt also mehrere.
Ich habe Ihnen gesagt, dass es
mehrere Möglichkeiten gibt ,
Docker tatsächlich zu installieren Also werde ich dir einen einfachsten Weg nennen. Sie können sich die Installation
mit dem
Komfort-Skript hier ansehen . Sie können also im Grunde genommen Docker Ihnen
hier ein Skript
zur Verfügung stellen und Sie können dieses Skript
in Ihre Ubuntu-Umgebung
herunterladen und dieses Skript ausführen Das wird Docker installieren. Also werde ich hier auf
diesen Link klicken. Das ist der Link getter.com. Das ist also das
Skript, das jemand
geschrieben hat , damit wir
Docker installieren können Was ich hier machen werde, wenn du es nach unten
scrollst, musst du nur dieses tun Hier drüben kannst du das kopieren. Dadurch wird das Skript heruntergeladen. Also kopiere ich es und
gehe zu meinem Linux-Terminal. Also, was auch immer
ich kopiert habe, ich füge es hier ein, ich klicke und füge
es ein und drücke Enter. Im Grunde werden wir ein Skript
namens Installer dot
SH auf mein Ubuntu
herunterladen . Wenn du es also
sehen willst, schreibe ich LS um zu sehen,
welche Dateien sich
in diesem Verzeichnis befinden. Das kannst du dir also ansehen.
Das ist das Drehbuch. Also, um das
Skript auszuführen, schreibst du SH. Ich möchte es durch die Shell laufen lassen. Schreiben und installieren Sie den
Bindestrich und drücken Sie die Eingabetaste. Das wird im Grunde das tun
, was es tun wird. Es wird Docker auf
Ihrer virtuellen Bun-Maschine installieren. Dies ist der einfachste Weg
, Docker zu installieren, oder? Also, was ich getan habe, lassen Sie mich
Sie zurück zur Docker-Seite bringen. Gehen Sie dort auf die COM, laden Sie im Grunde das
Skript herunter, und Sie können es herunterladen Sobald es heruntergeladen ist, können Sie Ihr
heruntergeladenes Skript ausführen. Ich gehe noch einmal zum
Terminal zurück. Also
installiert es gerade Docker. Warte darauf. Damit
du das sehen kannst. Docker ist jetzt installiert. Warte darauf. Wenn Sie also überprüfen möchten, ob der
Docker installiert ist oder nicht, können
Sie die Docker-Version mit Bindestrich und
Bindestrich schreiben Und Moderator. Das kannst du sehen. Die Version
kommt. Das heißt, Docker ist jetzt installiert So
können wir Docker installieren. Leute, wenn Sie immer noch
keinen Zugriff auf
Virtual Box oder VMware
Workstation oder einen der
Cloud-Anbieter In
meinen kommenden Vorlesungen werde ich Ihnen eine Möglichkeit geben , Sie mit Docker
Container erstellen können Sie müssen diesen Docker nicht einmal
installieren. Sie können tatsächlich mit
Docker spielen und Container und
all diese Dinge
erstellen Ich werde es dir in meinen
kommenden Vorlesungen sagen. Dies soll Ihnen nur
zeigen, wie Sie Docker
installieren . Ich hoffe,
dieser Teil ist klar Ich danke euch allen.
4. Docker-Architektur: Ordnung. Heute werden wir also über Docker-Komponenten
sprechen Wenn wir also
Docker installieren, erhalten
wir im Grunde zwei Hauptkomponenten Das sind Ihr
Docker-Client und Ihr Docker-Server. Der Docker-Server
wird in oder
Docker Engine auch als Docker-Team bezeichnet in oder
Docker Engine auch als Docker-Team Wenn Sie also sehen möchten, ob diese Komponenten
installiert sind oder nicht, können
Sie diesen
Talker-Versionsbefehl ausführen Denken Sie daran, dass die Version
mit
Bindestrich überprüft, ob der Docker installiert
ist oder Aber Docker-Version ohne
Bindestrich,
wenn Sie sie verwenden, wenn Sie sie verwenden Lassen Sie mich Sie also zum
Terminal bringen und diesen Befehl ausführen .
Das ist also mein Terminal. Also, wenn ich
den Befehl Docker ohne Bindestrich ausführe. Wenn ich
es jetzt ausführe, können Sie sehen, dass es sich um
eine Serverkomponente
handelt, die hier auftaucht, und hier drüben, das ist die Client-Komponente, die
hier auftaucht Das heißt, Docker hat eine
Client-Server-Architektur. Lassen Sie uns nun
die Beziehung zwischen
diesen beiden Komponenten verstehen . In Ordnung. Lassen Sie uns das anhand eines
Architekturdiagramms verstehen. Nehmen wir an, wir führen einen beliebigen Befehl wie Docker Run
Engines aus , um einen Container zu erstellen Wir werden in den
kommenden Vorlesungen mehr über
diese Befehle sprechen , aber lassen Sie uns anhand einer Docker-CLI verstehen
, dass
ich jeden Befehl wie
Docker Run nginx ausführe Es wird in
Rest-APA konvertiert und außerdem
von Ihrem Docker-Dämon verarbeitet, der im Grunde genommen für
die
Ausführung Ihrer Rest-APA-Aufrufe oder Docker-Befehle
verantwortlich ist Rest-APA-Aufrufe Rest-APA-Aufrufe Das ist also die
Beziehung zwischen Ihrem Docker-Client
und dem Docker-Server Sie müssen also
verstehen, dass Docker
eine Client-Server-Architektur hat eine Client-Server-Architektur Ich hoffe, dieser Teil ist klar.
Ich danke euch allen. Okay.
5. Docker-Bilder und Docker Hub: Hallo, alle zusammen. Heute werden
wir also
über Talker-Bilder sprechen Lassen Sie uns also zunächst
die technische Definition verstehen die technische Definition verstehen Docker-Image ist ein Objekt , das Ihr
Betriebssystem-Dateisystem, Ihre
Anwendung und
andere Abhängigkeiten enthält Anwendung und
andere Abhängigkeiten Nehmen wir an, Sie möchten einen Enginex-Container
erstellen. Um einen Container zu erstellen
, benötigen Sie zunächst ein Image Das Bild ist wie ein Bauplan. Nehmen wir einfach ein Beispiel für ein Szenario
aus der realen Welt. Nehmen wir an, Sie möchten Ihr Haus
bauen. , um
Ihr Haus zu bauen Was tun Sie, um
Ihr Haus zu bauen, Sie
erstellen einen Bauplan davon In ähnlicher Weise benötigen
Sie ein Bild,
um Container zu erstellen benötigen
Sie ein Bild Das Bild ist so, als ob Sie
bereits
all diese Software installiert haben und alles da ist. Sie müssen nur
einen Container daraus machen. Nehmen wir an, Sie möchten einen Nginicx-Container
erstellen. Nginx ist also eigentlich eine Websoftware, die Sie zum Ausführen Ihrer
Webanwendungen benötigen, oder? Nehmen wir an, jemand hat
bereits ein Image erstellt bei dem alle Abhängigkeiten, die für den Betrieb
Ihres Engini-Servers
erforderlich sind , jemand hat dieses Image bereits
erstellt, und Sie können dieses Image verwenden Um diese Images zum Erstellen der Container
zu
verwenden, benötigen
Sie diese Images Es ist einem Vorlagenkonzept für virtuelle
Maschinen ziemlich ähnlich. Wenn ihr aus
einem VMware-Hintergrund kommt, richtig? Bei einer Vorlage ist also all
diese Software installiert, alles ist da und Sie erstellen daraus eine virtuelle
Maschine. In ähnlicher Weise
sind in Toker-Images all diese Anwendungen bereits All diese Abhängigkeiten
sind bereits darin enthalten. Das Betriebssystem-Dateisystem ist
im Ter-Image enthalten. Wenn Sie
es verwenden möchten, müssen Sie daraus einen Container
erstellen, oder? Aber der Punkt ist, ich
sage Ihnen, dass es
ein Engenix-Image gibt , das Sie finden
können, und es gibt, sagen
wir, Sie möchten einen SQL-Server
erstellen, also wenn jemand bereits ein Image
erstellt hat, auf dem SQL Server bereits
installiert ist und alles da
ist, oder? Wo diese Bilder im Grunde
gespeichert sind. Wenn ich sagen möchte, brauche ein Image, auf dem Engenix bereits installiert
ist Jemand hat dieses Bild erstellt, ich möchte einen Container erstellen in dem all diese
Bilder gespeichert sind Das ist in Docker Hub. Docker Hub ist ein von
Docker bereitgestellter
Dienst zum Suchen und
Teilen der Container-Images Also,
wenn Sie im Grunde genommen beliebiges Bild
haben möchten oder wenn Sie
auch
Ihr eigenes
Image-Container-Image veröffentlichen Ihr eigenes
Image-Container-Image möchten, damit andere
Leute es verwenden können Sie können etwas verwenden, das als Talker-Hub
bezeichnet wird. Ich zeige dir, wo
genau der Link ist, oder? Docker Hub ist also wie ein
Repository für diese Bilder. Sie können also viele
Bilder in Docker Hub finden, oder? Lassen Sie mich Ihnen zeigen, wie
genau Sie
diesen Docker-Hub sehen können . In Ordnung. Also, wenn du
diese URL talker.com schreibst, findest
du hier eine
Menge Bilder. Zu diesem Link. In Ordnung. Da ist ein Link und ich
suche nach einem Bild namens Nginx. Du wirst
danach suchen und du
wirst hier viele
Bilder sehen können. Sie können sehen, dass jemand ein Engenix-Image
erstellt hat. Was auch immer alle
Bilder da sind, Sie werden
diese Bilder hier sehen können Und wenn Sie dieses Bild finden können
, können
Sie auch Ihre
eigenen benutzerdefinierten Bilder erstellen. Um diese Bilder abzurufen, werde
ich Ihnen in sie im Grunde auf die Docker-Daten bekommen der nächsten oder in
der nächsten Vorlesung sagen,
wie Sie sie im Grunde auf die Docker-Daten bekommen, wo wir Docker installiert
haben der nächsten oder in
der nächsten Vorlesung sagen,
wie Sie ,
aber
das ist im Grunde das
Container-Repository-Image-Repository Container-Repository-Image-Repository Sie werden hier also eine
Menge Bilder finden. Ich hoffe, dieser Teil ist klar.
Ich danke euch allen.
6. Demo-Docker-Bilder: Ordnung. Also werden wir heute eine Demo
auf Docker-Images
durchführen In der vorherigen Vorlesung hatten
wir also bereits eine
Diskussion darüber, wie wir Container erstellen können.
Wir benötigen Bilder Das sind also wie
Schnappschüsse, oder? Also, wie bekommt man diese
Bilder von Docker Hub? Denn all diese Bilder finden
Sie
in einem Docker-Hub Also, wie wir diese
Bilder tatsächlich aus dem Docker-Hub abrufen. Lassen Sie mich Sie zunächst zum
Terminal bringen. Ordnung. Also das
ist das Terminal. Nehmen wir an, ich möchte sehen, welche Bilder sich
auf dem Docker de Stop befinden Ich werde schreiben, dass Toker-Images der Befehl
ist, oder? Derzeit gibt es keine Bilder, da wir keine
Bilder von Docker Hub abgerufen Nehmen wir an, ich möchte
an einem Standard-Ubuntu-Image arbeiten an einem Standard-Ubuntu-Image Ich brauche, wo Ubuntu bereits installiert
ist.
Alles ist da. Ich brauche nur das Bild in
meinem Text, wo ich den Talker
installiert habe Um das
Image von Docker Hub abzurufen, schreibe
ich den Docker-Befehl schreibe
ich Und der Name des
Bildes. Nehmen wir an, ich suche nach
einem Bild, Ubuntu. Wenn Sie sich nicht sicher sind, was genau
der Name des Images ist, was Sie tun können, können Sie
zum Talker-Hub gehen und
nach einem Image suchen, Ubuntu ist
der genaue Name dieses Images oder nicht, weil der Name
dieses Images mit dem Namen
des Images auf dem
Docker-Hub selbst
übereinstimmen sollte mit dem Namen
des Images auf dem
Docker-Hub selbst
übereinstimmen des Images auf dem
Docker-Hub Beide Bilder sollten übereinstimmen. Nehmen wir an, weil ich
bereits weiß, dass es auf Docker Hub
ein Image namens
Zubantu gibt, sage
ich Docker sage
ich Drücken Sie jetzt die Eingabetaste, holen Sie sich
das Bild vom Docker
Hub und es wird im Grunde genommen auf meinem Laptop installiert. Wenn ich jetzt Bilder sehe, können
Sie sehen, dass da ein Bild
ist, das Ubuntu da ist, und das ist jetzt installiert,
und Sie können es sehen Das ist das neueste Bild. Standardmäßig werden wir
über den Tag-Teil sprechen, aber wenn Sie die Version
des Bildes, nach dem Sie suchen, nicht
angeben , rufe ich im Grunde
das neueste Bild ab, oder? Wir werden also mehr
über den Tag-Teil sprechen, aber nur ein Beispiel geben, Test ist etwas, die Stimmen dieser
Bilder sind da Die Bild-ID, sie wird eine eindeutige ID
bekommen, und Sie können sehen,
dass sie vor
zehn Tagen erstellt wurde und die
Größe des Bildes ist
hier
sehr wichtig, da Sie dort
nur 77 MB Bilder sehen können dort
nur 77 MB Bilder Und wenn Sie
die kompletten Banos auf einer virtuellen
Standardmaschine installiert hätten , wäre die Größe
definitiv erhöht
worden, oder? Sie können den
Unterschied also hier sehen. Deshalb sagen wir, dass Container leicht
sind, oder? Die Größe des Bildes ist also wichtig. In den kommenden Vorlesungen werden
wir also sehen, wie man dieses
Bild verwendet, um Container zu erstellen. Ich hoffe, dieser Teil ist klar,
Leute. Ich danke euch allen.
7. Demo-Docker-Container: Okay. Heute machen wir jetzt eine Demo auf Docker
Containers Wir haben das Image bereits
aus dem Docker Hub-Man-Image abgerufen aus dem Docker Hub-Man-Image Jetzt werden wir daraus einen
Container erstellen. Lass mich dich zum
Terminal meines Docker-Hosts bringen. Ordnung. Das ist ein Terminal. Und wenn Sie
das Bild noch einmal sehen möchten, können
Sie Docker-Images schreiben und Sie werden dieses Bild sehen können Jetzt muss ich daraus einen
Container erstellen. Denken Sie daran, dass der Befehl immer docker run lautet,
wenn Sie einen Container erstellen
möchten Befehl immer docker run lautet Die Initialen des Befehls
wären docker run. Danach
gibt es einige Schalter,
einige Flags, die Sie
angeben müssen, damit Sie diesen Container
im Race-Modus ausführen
können Ich werde einen
Switch namens IT bereitstellen. IT bedeutet im Grunde
interaktives Terminal. Das heißt, Sie möchten
die aktuelle Shell an das
Containerterminal anschließen . Sie möchten die Shell starten, im Grunde möchten Sie Ihre aktuelle Shell
auf das Containerterminal
umstellen . Deshalb sagen
wir, IT. Dann geben Sie
den Namen des Bildes an. Da wir einen Container
erstellen wollen auf dem Ubuntu-Image
basiert, werden
wir denselben
Image-Namen Ubuntu schreiben. Hier drüben, weil auf
diesem Container-Image kein
Prozess läuft. Denken Sie daran, dass Container den Prozess
ausführt,
sobald der Prozess
im Container endet . Der
Container wird gestoppt. Derzeit gibt es keinen Prozess , der in
diesem Container läuft, oder? Was ich
ausführen möchte, ich möchte
einen PH-Prozess in
diesem Container richtig ausführen . Ich sage Schrägstrich, Schrägstrich ph. Das ist es, was ich ausführen
möchte. Das heißt, ich will auch in das Terminal
des Containers. Das heißt, ich möchte mich
gleichzeitig auch in
den Container einloggen . während der Ausführung dieses Vorgangs Lassen Sie mich während der Ausführung dieses Vorgangs auch in den
Container-Teil einsteigen. Das meine ich, IT, interaktives Terminal.
Jetzt drücke ich die Eingabetaste. Jetzt kannst du
das sehen. Jetzt bin ich tatsächlich
im Container. Sie können das 49 83 sehen. Das heißt, das
Problem hat sich geändert. Ansonsten habe ich
Docker Zero One verwendet. Das war mein Docker-Host. Aber jetzt können Sie sehen, dass p49 einige eindeutige
Zeichen-IDs auftauchen Das heißt, ich bin jetzt in
meinem Container. Ich kann also alles ausführen, PS oder einfach nur um die Prozesse zu sehen, was alle Prozesse
laufen. Das kann man sehen. Es läuft ein Bash-Prozess
. Das heißt, wissen Sie, wir haben
Doktor Hurst im Grunde genommen gebeten , diesen Bash-Prozess
durchzuführen Das ist also der Prozess , der
innerhalb des Containers läuft Und PS, haben wir diesen Befehl tatsächlich
ausgeführt, oder? PS. Das ist ein kurzlebiger
Prozess, kann man sagen, aber der lang andauernde Prozess , der innerhalb
des Containers läuft, ist Bash. Denken Sie also einmal daran,
dass , wenn dieser Prozess automatisch beendet wird Container beendet wird,
wenn dieser Prozess automatisch beendet wird,
wenn dieser Prozess abgeschaltet wird Container werden nur so
lange ausgeführt , bis ein Prozess innerhalb des Containers ausgeführt
wird. Sobald der Prozess beendet ist, stirbt auch der
Container. Derzeit
läuft der lang
andauernde Prozess Pash. PS ist nur das Ergebnis, dass wir diesen Befehl
im Container
ausgeführt haben diesen Befehl
im Container
ausgeführt Deshalb
sehen wir PS hier drüben. Also, wie kommt man
aus dem Container raus? Ich will einfach nur, ich will aus
dem Container selbst herauskommen. Nehmen wir an, ich schreibe Exit. Definitiv beendet und das kannst
du sehen, ich bin jetzt in meinem Docker-Host Aber wie überprüft man, ob der Container
noch läuft oder Also, was ich schreiben kann , um alle meine
laufenden Container zu überprüfen. Also kannst du das sehen. laufen
keine Container. Und wenn Sie auch alle
gestoppten Container sehen möchten ,
geben alle Bindestriche A ein Wenn Sie nur PSF sehen möchten, werden Ihnen die
laufenden Container angezeigt Wenn Sie jedoch
alle Container sehen möchten
, die sich im
Exit-Status oder im
Runing-Status befinden, dann schreiben
Sie Bindestrich
P, und Sie können das sehen Der Bin Bash-Prozess
wurde ausgeführt. Aber sobald wir diesen Ausgang
sagten, wurde
der Bash-Prozess tatsächlich gestoppt Aber was ist, wenn wir nicht wollen, dass
dieser Container stirbt? Wir möchten, dass dieser Bash-Prozess innerhalb des Containers läuft, also erstelle ich einen weiteren
Container mit demselben Befehl F acht, richtig? Und
das kannst du sagen. Jedes Mal, wenn ich einen Container betreibe, erhalten
sie eine eindeutige ID. Vorher war ich
so was wie Bo Neun. Dieser Ausweis war hier. Jetzt wird es auch ein neues
D bekommen. Ich laufe wieder, Docker Run IT Ubuntu
Ben Slash Pass Es wird noch einen
Container laufen lassen, das kannst du sehen. Jetzt
ist die ID des Containers diese. Das wurde geändert. Was ist, wenn ich nicht will, dass
dieser Container stirbt? Ich möchte diesen Container verlassen
, aber ohne ihn zu
beenden, oder? Ich möchte
diesen Container nicht beenden. Ich möchte nur aus dem Container
herauskommen. Was Sie dann tun können, Sie
können Control plus
P Q schreiben . Ich schreibe Control P Q. Okay. Das kannst du dir
hier ansehen. Ich schreibe Control
plus P Q, richtig? Sie befinden sich in
Ihrem Docker-Host. Lassen Sie mich den Bildschirm einmal löschen
und lassen Sie mich Ihnen zeigen, wie Sie jetzt PS machen Und das kannst du sehen. Doktor PS zeigt Ihnen alle
laufenden Container, das heißt, dieser Container
ist betriebsbereit. Das heißt, ich bin
aus diesen Containern herausgekommen, ohne meinen
Container selbst zu beenden, oder? Das ist es, was du verstehen
musst. Control plus PQ bedeutet, den Container zu
verlassen, ohne ihn zu beenden. Also ich hoffe, dieser Teil
ist klar, Leute. Danke euch allen. Okay.
8. Demo-Docker-Container: Okay. Heute machen wir jetzt eine Demo auf Docker
Containers Wir haben das Image bereits
aus dem Docker Hub-Man-Image abgerufen aus dem Docker Hub-Man-Image Jetzt werden wir daraus einen
Container erstellen. Lass mich dich zum
Terminal meines Docker-Hosts bringen. Ordnung. Das ist ein Terminal. Und wenn Sie
das Bild noch einmal sehen möchten, können
Sie Docker-Images schreiben und Sie werden dieses Bild sehen können Jetzt muss ich daraus einen
Container erstellen. Denken Sie daran, dass der Befehl immer docker run lautet,
wenn Sie einen Container erstellen
möchten Befehl immer docker run lautet Die Initialen des Befehls
wären docker run. Danach
gibt es einige Schalter,
einige Flags, die Sie
angeben müssen, damit Sie diesen Container
im Race-Modus ausführen
können Ich werde einen
Switch namens IT bereitstellen. IT bedeutet im Grunde
interaktives Terminal. Das heißt, Sie möchten
die aktuelle Shell an das
Containerterminal anschließen . Sie möchten die Shell starten, im Grunde möchten Sie Ihre aktuelle Shell
auf das Containerterminal
umstellen . Deshalb sagen
wir, IT. Dann geben Sie
den Namen des Bildes an. Da wir einen Container
erstellen wollen auf dem Ubuntu-Image
basiert, werden
wir denselben
Image-Namen Ubuntu schreiben. Hier drüben, weil auf
diesem Container-Image kein
Prozess läuft. Denken Sie daran, dass Container den Prozess
ausführt,
sobald der Prozess
im Container endet . Der
Container wird gestoppt. Derzeit gibt es keinen Prozess , der in
diesem Container läuft, oder? Was ich
ausführen möchte, ich möchte
einen PH-Prozess in
diesem Container richtig ausführen . Ich sage Schrägstrich, Schrägstrich ph. Das ist es, was ich ausführen
möchte. Das heißt, ich will auch in das Terminal
des Containers. Das heißt, ich möchte mich
gleichzeitig auch in
den Container einloggen . während der Ausführung dieses Vorgangs Lassen Sie mich während der Ausführung dieses Vorgangs auch in den
Container-Teil einsteigen. Das meine ich, IT, interaktives Terminal.
Jetzt drücke ich die Eingabetaste. Jetzt kannst du
das sehen. Jetzt bin ich tatsächlich
im Container. Sie können das 49 83 sehen. Das heißt, das
Problem hat sich geändert. Ansonsten habe ich
Docker Zero One verwendet. Das war mein Docker-Host. Aber jetzt können Sie sehen, dass p49 einige eindeutige
Zeichen-IDs auftauchen Das heißt, ich bin jetzt in
meinem Container. Ich kann also alles ausführen, PS oder einfach nur um die Prozesse zu sehen, was alle Prozesse
laufen. Das kann man sehen. Es läuft ein Bash-Prozess
. Das heißt, wissen Sie, wir haben
Doktor Hurst im Grunde genommen gebeten , diesen Bash-Prozess
durchzuführen Das ist also der Prozess , der
innerhalb des Containers läuft Und PS, haben wir diesen Befehl tatsächlich
ausgeführt, oder? PS. Das ist ein kurzlebiger
Prozess, kann man sagen, aber der lang andauernde Prozess , der innerhalb
des Containers läuft, ist Bash. Denken Sie also einmal daran,
dass , wenn dieser Prozess automatisch beendet wird Container beendet wird,
wenn dieser Prozess automatisch beendet wird,
wenn dieser Prozess abgeschaltet wird Container werden nur so
lange ausgeführt , bis ein Prozess innerhalb des Containers ausgeführt
wird. Sobald der Prozess beendet ist, stirbt auch der
Container. Derzeit
läuft der lang
andauernde Prozess Pash. PS ist nur das Ergebnis, dass wir diesen Befehl
im Container
ausgeführt haben diesen Befehl
im Container
ausgeführt Deshalb
sehen wir PS hier drüben. Also, wie kommt man
aus dem Container raus? Ich will einfach nur, ich will aus
dem Container selbst herauskommen. Nehmen wir an, ich schreibe Exit. Definitiv beendet und das kannst
du sehen, ich bin jetzt in meinem Docker-Host Aber wie überprüft man, ob der Container
noch läuft oder Also, was ich schreiben kann , um alle meine
laufenden Container zu überprüfen. Also kannst du das sehen. laufen
keine Container. Und wenn Sie auch alle
gestoppten Container sehen möchten ,
geben alle Bindestriche A ein Wenn Sie nur PSF sehen möchten, werden Ihnen die
laufenden Container angezeigt Wenn Sie jedoch
alle Container sehen möchten
, die sich im
Exit-Status oder im
Runing-Status befinden, dann schreiben
Sie Bindestrich
P, und Sie können das sehen Der Bin Bash-Prozess
wurde ausgeführt. Aber sobald wir diesen Ausgang
sagten, wurde
der Bash-Prozess tatsächlich gestoppt Aber was ist, wenn wir nicht wollen, dass
dieser Container stirbt? Wir möchten, dass dieser Bash-Prozess innerhalb des Containers läuft, also erstelle ich einen weiteren
Container mit demselben Befehl F acht, richtig? Und
das kannst du sagen. Jedes Mal, wenn ich einen Container betreibe, erhalten
sie eine eindeutige ID. Vorher war ich
so was wie Bo Neun. Dieser Ausweis war hier. Jetzt wird es auch ein neues
D bekommen. Ich laufe wieder, Docker Run IT Ubuntu
Ben Slash Pass Es wird noch einen
Container laufen lassen, das kannst du sehen. Jetzt
ist die ID des Containers diese. Das wurde geändert. Was ist, wenn ich nicht will, dass
dieser Container stirbt? Ich möchte diesen Container verlassen
, aber ohne ihn zu
beenden, oder? Ich möchte
diesen Container nicht beenden. Ich möchte nur aus dem Container
herauskommen. Was Sie dann tun können, Sie
können Control plus
P Q schreiben . Ich schreibe Control P Q. Okay. Das kannst du dir
hier ansehen. Ich schreibe Control
plus P Q, richtig? Sie befinden sich in
Ihrem Docker-Host. Lassen Sie mich den Bildschirm einmal löschen
und lassen Sie mich Ihnen zeigen, wie Sie jetzt PS machen Und das kannst du sehen. Doktor PS zeigt Ihnen alle
laufenden Container, das heißt, dieser Container
ist betriebsbereit. Das heißt, ich bin
aus diesen Containern herausgekommen, ohne meinen
Container selbst zu beenden, oder? Das ist es, was du verstehen
musst. Control plus PQ bedeutet, den Container zu
verlassen, ohne ihn zu beenden. Also ich hoffe, dieser Teil
ist klar, Leute. Danke euch allen. Okay.
9. Container im abgetrennten Modus ausführen: Ordnung, alle zusammen. Also werden
wir heute im Grunde einen
Enginix-Container laufen lassen, oder? Wir hatten also bereits eine Diskussion über den
Ubuntu-Container, bei der wir ein Image
heruntergeladen und
den Ubuntu-Container ausgeführt haben, richtig Jetzt werden wir
einen Enginix-Container ausführen. Nehmen wir den Enginix-Container an, warum wir ihn verwenden, weil wir unsere Webanwendung
starten müssen, unsere Webanwendung
starten Deshalb bräuchten wir den Enginix-Container
. Jetzt gehe ich zuerst zurück zu meinem Terminal.
Das ist das Terminal. Vorhin
haben wir den Befehl
Docker Pull ausgeführt, um
das Bild von Tür Hub nach rechts abzurufen das Bild von Tür Hub nach rechts abzurufen Aber wir
müssen das Image wirklich nicht abrufen und
daraus einen Container erstellen Was wir tun können, ist, dass wir diesen
Docker-Run-Befehl
direkt ausführen können diesen
Docker-Run-Befehl
direkt ausführen Was passiert, wenn Sie diesen Befehl
docker run
direkt ausführen Wenn das Bild nicht auf
Ihrem Takestop vorhanden ist , wird das Bild
grundsätzlich vom Docker-Hub abgerufen Sie können
den Befehl
docker run auch direkt ausführen , wenn Sie einen Container starten möchten Sie
müssen das Image nicht zuerst abrufen, und nur dann können Sie
einen Container erstellen . Ich
schreibe Docker Run Ich werde diesen Begriff
IT-Flag nicht verwenden , weil ich mich nicht in den Container einloggen möchte Ich möchte nur
die Webanwendung starten. Ich werde ItFlag nicht verwenden,
ich werde Enginx schreiben. Engenx ist im Grunde der Bildname. Ich sage, führe den
Nginx-Container aus. Engenix ist im Grunde der Name
des Images, das ich ausführen möchte. Drücken Sie die Eingabetaste .
Damit
du das sehen kannst Zuallererst hat es
das Bild lokal gefunden .
Ich habe es nicht gefunden. Sobald das Image nicht
lokal gefunden wurde, was passiert ist, ist es zum Docker-Hub gegangen
und hat das Image abgerufen Sie müssen also nicht Docker
Pull schreiben. Aber was ist hier passiert? Denn in diesem
speziellen Bild war
bereits ein Prozess da, weißt
du, der
Nginx-Container-Prozess war da, wo die
Anwendung läuft Aber ein Terminal ist jetzt blockiert. kannst du sehen. Wir
können nichts tun , weil der
Prozess auf dem Container gestartet wurde, aber im Nebelmodus Ground-Modus bedeutet im Grunde
nicht im Hintergrund, ein Terminal ist blockiert, aber ich drücke
C mit der rechten Maustaste, sagen wir, ich verlasse den Container
in L direkt zu einem PS, um zu überprüfen, ob der Container noch
läuft Docker PS Bindestrich. Sie können sehen, dass der Container
tatsächlich gestoppt wurde. Sie können sehen, dass der
Triebwerkscontainer gestoppt ist. Das bedeutet, dass der Container
definitiv gestartet wurde, aber im Nebelbodenmodus. Aber was ist, wenn ich nicht will dieser Container
grundsätzlich im Fog Ground-Modus
laufen soll . Was ich will, ich möchte
die Kontrolle über mein
Terminal wiedererlangen , oder? Im Grunde möchte
ich nicht, dass das Terminal
blockiert wird. Richtig? Ich
möchte mein Terminal nicht blockieren. Ich möchte den Zugriff auf
mein Terminal wiedererlangen , damit ich auch andere Befehle
ausführen kann. Was ich tun werde, ich werde Docker schreiben. Lauf. Diesmal verwende ich
eine Flagge namens Bindestrich D. Bindestrich D bedeutet abgekapselten Modus
oder Hintergrundmodus Ich sage, ich möchte einen Container
ausführen, aber führe ihn nicht
im Nebelmodus aus Führe das im Hintergrund,
Bindestrich D, getrennter Modus aus, damit ich wieder
Zugriff auf mein Terminal habe, sodass ich
andere Befehle ausführen kann, wenn ich will Moderator, und das können Sie sehen. Es hat nur
die Container-ID gedruckt, und dieses Mal habe ich die Kontrolle
zurück. Diesmal
ist mein Terminal nicht blockiert. Sie können dieses Flag mit dem
Namen Bindestrich D verwenden. Sie können dem Befehl Docker PS
überprüfen, ob der Container betriebsbereit
ist mit dem Befehl Docker PS
überprüfen, ob der Container betriebsbereit
ist,
und das können Sie sehen Nginx-Container ist
betriebsbereit und das ist die ID
und
alles ist Wie greife ich auf diesen Container zu? Nehmen wir an, auf jeden Fall laufen
einige Webanwendungen auf diesem Container, weil eine
Standardwebseite kommt. Wie man auf diese Webseiten zugreift
und alles, was wir besprechen werden. Aber dieses Mal haben wir nur gesehen, wie man
einen Enginius-Container im eigenständigen Modus
im Hintergrund laufen Modus
im Hintergrund lässt. Ich hoffe,
dieser Teil ist klar Ich danke euch allen. Okay.
10. PORT-Mapping: Jeder. Heute werden wir also über das Konzept der
Hafenkartierung
sprechen, oder? Lassen Sie uns zunächst verstehen, was wir bisher getan haben. Also haben wir einen Docker-Host erstellt und darauf einen
Engenix-Container gestartet Wie greife ich nun auf einen Container zu? Nehmen wir an, dieser
Container
startet derzeit mit dem
Engenix-Container eine Webanwendung Und ein Benutzer von außerhalb möchte darauf zugreifen und
die Anwendung enthalten
, die auf
diesem Container läuft Dieser Container
hat definitiv die IP-Adresse, aber das ist eine
private IP-Adresse. Das bedeutet, dass auf einen Container nur
innerhalb
desselben Netzwerkbereichs zugegriffen werden kann . Was aber, wenn
ein Benutzer aus dem Internet
auf diesen Container zugreifen möchte? Dafür können wir die
öffentliche IP-Adresse
dieser VM verwenden , da wir Talker auf
dieser virtuellen Maschine
installiert haben Talker auf
dieser virtuellen Maschine
installiert Und dieser virtuellen Maschine ist auch eine öffentliche Adresse
zugewiesen, ist auch eine öffentliche Adresse weil wir wissen , dass immer dann, wenn jemand
das Netzwerk verlässt, er eine öffentliche
Adresse benötigt, oder Aber die virtuelle Maschine hat eine öffentliche
Adresse, keinen Container. Dann, wie jemand von außen auf
die
Container-Anwendung zugreifen kann. Hier werden wir
ein Konzept verwenden , das als Port-Mapping bezeichnet wird. Derzeit lauscht unser Container
also Port 80. Wir werden jeden Hafen kartografieren. Es gibt einige Bereiche wenn es
um die Port-Zuordnung geht. Nehmen wir an, wir
ordnen den 5.000 Port meiner VM dem Port 80
des Containers zu. Damit die Leute im Grunde die öffentlichen Bereiche
der VM selbst
verwenden, aber auf Port 5.000 Sobald sie den Browser aufrufen und den öffentlichen Zugriff
auf Port 5.000
verwenden, können
sie auf die
Container-Anwendung zugreifen Dies wird als Port-Mapping bezeichnet. Also, wie es gemacht wird, wollen wir an einem Terminal
verstehen. Ich bringe dich zum Terminal. Das ist mein Terminal.
Das kannst du sehen. Sagen wir, lassen Sie uns noch
einmal laufen, Docker PS. Sie können sehen, dass auf
Port 80 ein Container-Enginix läuft können Sie sehen. Lassen Sie uns einen weiteren Container im Grunde auf Port 80 ausführen und ihn dem
lokalen Host-Port 5.000 zuordnen. Ich sage, führe den Hyphen Detach-Modus ,
damit er
im Hintergrund läuft Jetzt verwende ich ein
weiteres Flag namens Hyphen P. Das ist
für die Port-Zuordnung Ich sage zunächst meine Docker-Host-Portnummer, in meinem Fall
5.000, und die
Container-Port-Nummer. Das ist 80. Also ordne ich die 5.000
Portnummer von meinem Docker-Host dem Port 80
im Grunde von meinem Container zu, und ich möchte ihn auf dem
Nginx-basierten Image ausführen Also werde ich Nginx schreiben. Ich drücke Enter
. Damit du das sehen kannst. Es gibt einen Container, der im Grunde mit dieser
bestimmten ID gestartet
wurde, oder? Das läuft. Und
wenn Sie dies überprüfen möchten, können
Sie dies mit Toker
PS auf 5.000 Port 80 überprüfen Jetzt kann ich grundsätzlich
die öffentliche IP-Adresse
meiner virtuellen Maschine verwenden und
auf diesen Container zugreifen Lassen Sie mich Ihnen zeigen,
wie ich darauf zugreifen kann. Also werde ich auf die
öffentliche IP-Adresse
meines virtuellen Rechners
und auf Port 5.000$ zugreifen meines virtuellen Rechners , richtig Aber denken Sie daran, wenn Sie
Azure Envolvement WS oder eine
andere Envolvement verwenden , müssen
Sie diesem
Port auch 5.000$ einräumen, und zwar auch von der
Cloud-Seite aus, von der
Cloud-Seite aus Weil meine VM Teil der Azure-Umgebung war. In Azure
gibt es also im Grunde so genannte
Netzwerksicherheitsgruppen Wo ich
diese Portnummer zugelassen habe. Wenn es also auf
Ihrem lokalen Host auf
Ihrem Docker-Host einen
Portblock gibt , müssen
Sie diesen
Port 5.000 zulassen, oder? Dieser Port sollte
erlaubt sein. Dann können nur Benutzer auf diese
Portnummer zugreifen, oder? Das ist also im
Grunde die öffentliche
IP-Adresse der VM, auf der ich den Docker
installiert habe, Also greife ich jetzt auf diese
Anwendung zu. Jetzt kannst du das sehen.
Ich kann darauf zugreifen. Also kann jeder außerhalb
dieses speziellen Netzwerks auf die Anwendung zugreifen , die auf diesem
Container selbst läuft, oder? Das ist also das Konzept, das ich
verwende, das als Port-Mapping bezeichnet wird. Ich kann also tatsächlich
einen weiteren Container starten , der
auf dem Enginix-Image basiert, und ich kann die
Portnummer ändern, vielleicht kann
ich auf dem lokalen Host die Portnummer 5.001
oder eine andere Portnummer verwenden Damit Benutzer
auch auf
die andere Instanz
derselben Anwendung
zugreifen können die andere Instanz , oder? Dies ist das Konzept
der Port-Zuordnung. Denken Sie also daran, dass
Sie
bei der Erstellung ein
Kennzeichen mit dem Namen Bindestrich
P verwenden müssen . Vielen Dank an alle Ich hoffe, dieser Teil ist klar.
11. Demo Erstellen eines benutzerdefinierten Bildes: Leute, heute werden wir
eine Demo zur Erstellung
der benutzerdefinierten Bilder machen . Lass mich es zum Terminal bringen. Ordnung. Das ist ein Terminal. Zunächst
erstellen wir ein Python-basiertes Image. Lassen Sie mich eine
Python-basierte Anwendung erstellen. Es wird eine sehr
einfache Anwendung sein. Lassen Sie uns eine
Python-Anwendung erstellen. Lassen Sie mich zunächst hier
ein Projekt erstellen. Ich werde hier ein
Verzeichnis erstellen, das ich
als Toker-Projekt bezeichnen werde Und ich werde auch weitermachen, ich werde in
dieses Verzeichnis zurückkehren Was auch immer ich tun werde,
ich werde es drinnen tun. MKDIR habe ich im Grunde
ein Verzeichnis oder einen Ordner erstellt, und dann bin ich
in diesen Ordner gegangen,
CD, und habe das Verzeichnis geändert Derzeit gibt es keine
Datei, die Sie sehen können, richtig. Lassen Sie mich eine
Python-basierte Anwendung erstellen. Ich sage einfach per
App P, sagen wir, ich drücke Ike, damit
ich etwas schreiben kann. Sie müssen hier I K
drücken, sagen wir,
das ist eine einfache Anwendung, die einfach
Hallo zu einer Beispielanwendung sagt , und ich drücke die Escape-Taste, ClumQ und ich speichere sie Dies wird gespeichert, und Sie können die
Python-basierte Anwendung überprüfen. Jetzt möchte ich
ein Image erstellen, das auf dieser
Python-Anwendung basiert. Zunächst
hatten wir bereits eine Diskussion, um ein Bild zu erstellen. Sie müssen mit der
Datei eine Docker-Datei schreiben. Das ist ein Textdokument, ich sage
einfach Docker-Datei. Okay. Und hier drüben drücke
ich nochmal den IQ
, damit ich etwas schreiben kann. Nun, der erste Teil ist, du musst immer von
benutzen, richtig? Wir hatten eine Diskussion darüber, dass man immer
FM-Anweisungen verwenden muss. Und hier werde ich ein Basis-Image
verwenden. Ich werde ein Python-Image verwenden
, das bereits in
Docker Hub verfügbar ist , wo Python bereits
in allem installiert
ist Ich werde dieses Bild verwenden, und ich werde hier eine
Kopieranweisung verwenden, um alles zu kopieren, was sich in der aktuellen Punktbedeutung
im aktuellen Verzeichnis befindet In meinem aktuellen Verzeichnis gibt
es eine App Dot Py-Datei. Welche Dateien auch immer
da sind, ich
kopiere sie im Grunde in mein
Container-App-Verzeichnis. Das ist es, was ich meine, oder? Also Punkt ist im Grunde eine Quelle, kann
man sagen, und das
ist dein Ziel. Ziel ist Ihr
Container-Verzeichnis. Danach werde ich
das Arbeitsverzeichnis so einstellen ,
wie der Container gestartet wird. Ich sage ihm nur
, dass dies das Arbeitsverzeichnis sein sollte. Sie müssen
es im Grunde so tun, als würden Sie eine
CD in dieses App-Verzeichnis aufnehmen. Sobald der Container
gestartet ist, wird die Anwendung
im Grunde genommen
von diesem Verzeichnis aus gestartet. Das bedeutet dasselbe Verzeichnis. Ich stelle das
Arbeitsverzeichnis als App-Verzeichnis ein. Sobald das
Arbeitsverzeichnis festgelegt ist, was ich ausführen möchte, möchte
ich Python mit Hilfe von Python 3 ausführen,
ich möchte einen Punkt P ausführen.
Die Be App P-Datei wird
in diesem Verzeichnis vorhanden sein. Ich
verwende bitte Python drei,
Python drei ist bereits in diesem Basis-Image
vorhanden. Ich sage, bitte
führe diese Datei aus. Das ist es, was ich mache.
Nun, drücke die Escape-Taste und ich speichere eine Tok-Spalte. Das wird auch gespeichert.
Sie können LS überprüfen. Derzeit
gibt es zwei Dateien.copile und Jetzt ist mein Docopile fertig. Ich habe eine
Python-Basisanwendung hier. Ich möchte ausführen, ich möchte zuerst ein Image
erstellen. Sie können einen
Container nicht direkt starten. Sie müssen fosta ein Image
erstellen. Führen Sie den Befehl build aus. P ist ein Tag. Wenn Sie Ihrem Bild
ein Tag geben möchten, nehmen
wir an, ich sage,
dies ist eine Test-WebApp Testen Sie WebApp. Ich werde Punkt
bedeuten socoile present, bitte verwenden Sie diese Docker-Datei, im Grunde
zu erstellen Punkt bedeutet im aktuellen Verzeichnis. Es wird grundsätzlich
automatisch feststellen, ob die Docker-Datei
im aktuellen Verzeichnis vorhanden ist oder nicht Ich drücke jetzt die Eingabetaste. Es baut das Bild auf. kannst du sehen. Das ist erledigt. Und wenn ich überprüfe, ob das
Bild da ist oder nicht, kann
ich den Befehl Docer Images verwenden Und du kannst sehen, dass das schon
BAP ist und es
hat neuestens einen Tag bekommen Wenn du das im Grunde willst, willst
du Version
eins, Version zwei sagen Sie nur das Tag verwenden, können
Sie auch die Version
von etwas wie diesem
überprüfen , wenn Sie möchten. Standardmäßig ist es so,
es wird die neueste Version benötigt. Nach dem Semikolon
können Sie die Version angeben und bereitstellen.
Das haben wir getan Jetzt haben wir
dieses Bild schon da. Was wir wollen, wir wollen einen Container daraus machen, richtig? Also, wie erstellen wir einen
Container mit Talker, führen den Namen des Images Der Name des Images ist Test BAP. kannst du sehen.
Der Container wurde gestartet,
was auch immer sich
im Bild befand. Dies ist eine Beispielanwendung, die
im Grunde gedruckt und Container gestoppt wurde
, weil das
der einzige Prozess war , der da
war, oder? Dies ist eine
Beispiel-Basisanwendung. Nun, wenn Sie sehen, dass D P Hyphen Container gestoppt
worden wäre, oder? Sie können also die
SAP-Anwendung sehen, die es verwendet hat, und sie befindet sich im
Exit-Status, weil mein Bild nur zum
Drucken gedacht ist. Das ist einfach eine
Beispiel-Basisanwendung Sonst war es nicht, wissen Sie, im Prinzip in einer Schleife, wo etwas
kontinuierlich
gedruckt wurde etwas
kontinuierlich
gedruckt denn es war das Diagramm
eines Prozesses, gestartet und
automatisch wieder korrekt endet. Hier haben wir ein Bild erstellt, ein Python-basiertes Image, und wir
erstellen daraus einen Container. Denken Sie bei der Verwendung des Docks daran, dass Sie eine
Docker-Datei verwenden müssen, wenn Sie im Grunde ein Image erstellen
möchten im Grunde ein Image erstellen
möchten Ich hoffe, dieser Teil ist klar.
Danke euch allen.
12. COPY vs ADD-Anleitung: Leute. Heute
werden wir über das
Kopieren und Hinzufügen von Anweisungen
in Talker-Dateien sprechen Kopieren und Hinzufügen von Anweisungen
in Talker-Dateien Im Grunde werden wir
den Unterschied zwischen
dieser Kopieranweisung und der
Hinzufüge-Anweisung erkennen . In Ordnung. Nun, zuerst
diese beiden Anweisungen, kopieren und lassen Sie uns im Grunde Ihre Dateien und Ordner
in Ihr Bild übernehmen. Wenn Sie Ihre Dateien und Ordner
von Ihrem Talker-Host
auf das Docker-Image
kopieren möchten , können
Sie diese Anweisung
namens Copy and Hat verwenden , Und das ist die Syntax, oder? Sie wissen, dass Sie
die Quelle, die Sie im Zielverzeichnis
angeben,
ähnlich wie die Grafik kopieren . Aber es gibt einen Unterschied. Sie erhalten definitiv
einige zusätzliche Funktionen in den Hinzufügeanweisungen, oder? Sie erhalten einige zusätzliche Funktionen
beim Hinzufügen von Anweisungen. Was genau ist das? Hinzufügen funktioniert auch
mit Remote-URL. Nehmen wir an, Sie haben, Sie wissen schon, die Dateien befinden sich
im Github, oder? Du kannst also die URL von
Github kopieren und du kannst, du weißt schon, die
Anweisungen zum Hinzufügen verwenden, oder? Es funktioniert also auch mit
Remote-RL. Außerdem können Sie
die TA-Datei aus der Quelle
direkt in die Ziele extrahieren . Nehmen wir an, Sie haben auf Ihrem
Docker-Host beispielsweise eine TA-Datei erstellt, die Sie in
das Docker-Image kopieren
möchten Sie können das definitiv auch
kopieren, und es
wird automatisch Das heißt, Sie
müssen nicht zuerst die TA-Datei
kopieren und dann
extrahieren. Automatisch wird das Tapile
kopiert und auch in
Ihr Docker-Image
extrahiert Sie werden
mit der Hinzufügen-Anweisung ein kurzes TO ausführen ,
damit ich Ihnen zeigen kann, wie genau Sie
mit der TA-Datei arbeiten können Ich hoffe, dieser Teil ist klar.
Ich danke euch allen. Okay.
13. Demo ADD-Anleitung: Okay. Jetzt machen wir eine
Demo zum Hinzufügen von Anweisungen. Lass mich dich zum Terminal bringen. Also hier, was wir tun werden, wir werden zuerst
unser Tai erstellen, dann werden
wir das Tapile
mit der Hinzufügen-Anweisung kopieren, und wir werden in
das Docker-Image gehen, und wir werden sehen, dass
das Tapile
automatisch
extrahiert wird , wenn wir einen Container
aus diesem Bild
erstellen Lassen Sie
mich also zunächst einen Ordner erstellen. Und ich werde diesen Ordner als, sagen
wir, das Beispielprojekt benennen . Ich werde mich auch mit
diesem Projekt befassen. Also werde ich diesen Operator und die
CD für das Beispielprojekt verwenden. Also gut. Also habe ich ein Verzeichnis erstellt, das
als Beispielprojekt bezeichnet wird, und bin auch
in das Verzeichnis gezogen , das als Beispielprojekt
bezeichnet wird. Ich habe es auf CD aufgenommen, oder? Nun, zuallererst, um eine einfache Textdatei zu erstellen. Ich sage Touch und ich erstelle sagen
wir, eine Beispiel-TXT-Datei mit
Punkt. Und LLS, das kannst du dir ansehen. Es gibt eine Textdatei.
Jetzt erstelle ich ein Video mit diesem
speziellen Beispiel-Text Ich werde ein Taile erstellen, ich
verwende das flache Format und ich sage dieses Tapia-Beispiel, beginne
ich mit dieser speziellen Datei Im aktuellen Verzeichnis gibt es einen
Dateieintrag als Ich mache LS und das kannst du dir ansehen. Es gibt eine TI-Datei im selben
Verzeichnis sample.tc Was ich jetzt tun möchte,
werde ich eine Docker-Datei erstellen
und diese
Star-Datei in mein Talker-Image kopieren Ich werde auch eine Datei erstellen. Ich sage Datei. Ich drücke auf Ike und ich
verwende from pant image, und ich werde dieses Mal die
Anweisung hinzufügen verwenden weil ich dir gesagt habe, dass, wenn
wir die Anweisung hinzufügen verwenden, automatisch das Tar in
deinem
Talker-Bild angezeigt wird in
deinem
Talker-Bild Also sage ich hinzufügen und in
meinem aktuellen Verzeichnis
gibt es eine Datei
namens sample R, gibt es eine Datei
namens sample R ich in
mein Bildverzeichnis namens
stamp kopieren möchte mein Bildverzeichnis namens . Sobald der Container erstellt ist,
wird er sich
im TAM-Verzeichnis befinden Das ist es, was ich mache. Ich füge einfach diese Datei hinzu und das war's. Jetzt erstelle ich dieses Bild Rechnung und nenne dieses Bild als Beispiel Außerdem füge ich
Version V eins hinzu,
ich sage Punkt, weil
meine Docker-Datei im selben Verzeichnis darin besteht, dass ich ein Punktsymbol
einfüge Geben Sie ein und dieses Bild
wird
gerade erstellt und Sie können überprüfen, ob
das Bild da ist oder nicht,
Bilder, Sie können sehen, dass das
Beispielbild da ist Jetzt werde ich einen
Container daraus erstellen. Um ES zu öffnen. Wenn wir auch
den Namen angeben möchten, können
Sie dieses Pseudonym
Flack verwenden. Nehmen wir ich möchte meinen Container
als Container One benennen Außerdem möchte
ich
dieses Bildbeispiel für
Spalte eins verwenden dieses Bildbeispiel für
Spalte eins Außerdem möchte ich
einen Prozess namens
Bash Enter Container starten Bash Enter Container und ich kann
sehen, dass Sie das sehen können Ich bin jetzt in meinem Container. Ich mache LS, da sind
viele Dateien da. Ich habe die T-Datei
in das TM-Verzeichnis kopiert. Ich nehme CD und sage Temp und ich mache es,
du kannst das sehen Beispiel Punkt DXt. Im Grunde wurde
deine TA-Datei automatisch extrahiert, oder? Also meine TA-Datei war da
drin in meiner T-Datei, da war ein Beispiel für eine
Punkt-TXT-Datei. Ich habe diese Datei kopiert
und extrahiert. Automatisch können Sie anhand der
Hinzufügen-Anweisung sehen , dass die T-Datei
extrahiert wurde, oder? Das ist der Vorteil
, den Sie haben. Außerdem können Sie auch
die Remote-URLs verwenden Wenn sich Ihre Datei
beispielsweise
auf dem Kitub befindet , können Sie auch diese URL
verwenden Ich hoffe, dieser Teil ist klar.
Danke euch allen. Okay.
14. CMD vs. Entrypoint Anleitung: Leute. Heute werden wir den Unterschied zwischen der CMD- und
der
Entry-Point-Anweisung
sehen CMD- und
der
Entry-Point-Anweisung Wir wissen, dass Container
grundsätzlich dazu verwendet werden , einen Prozess zu
hosten Sobald der Prozess beendet ist, stirbt auch
der Container, oder? Nun, wie schreiben wir
in die Docker-Datei? Welcher Befehl ausgeführt werden soll oder welcher Prozess
ausgeführt werden soll, mit anderen Worten Das geschieht mit
Hilfe der CMD-Anweisung. CMD-Anweisung legt
den Befehl fest, der ausgeführt
wird, wenn Sie
einen Container von einem Bild aus starten Es gibt mehrere
Möglichkeiten, wie Sie die CMD-Anweisung
in Ihre Docker-Datei
schreiben können die CMD-Anweisung
in Ihre Docker-Datei
schreiben Eine Möglichkeit ist die erste
, bei der Sie
das CMD-Schlüsselwort gefolgt von
einem ausführbaren
Namen in eckigen Klammern und dem Parameternamen verwenden können das CMD-Schlüsselwort gefolgt von einem ausführbaren
Namen in eckigen Klammern und dem Parameternamen Das ist Jason, der zweite Weg
hat die Form einer Schale. Das ist CMD. Sie
können den
Namespace
der ausführbaren Datei, den Parameter, direkt angeben Namespace
der ausführbaren Datei, den Parameter, Sie müssen keine quadratischen
Pakete oder ähnliches angeben . So stellen Sie sie
im Grunde in Ihrer
Docker-Datei bereit Das kannst du am
Ende sehen. Das haben wir gesagt. Sobald wir die
Engine oder alles installiert
haben, möchten wir den
Motorprozess
mithilfe der CMD-Anweisung ausführen mithilfe der CMD-Anweisung Hier. Betrachten wir nun ein weiteres Beispiel für eine
CMD-Anweisung Nehmen wir an, das ist
das Beispielbild. Es ist der Name des Bildes
, das ich erstelle, oder? Und nehmen wir an, das ist die
Docker-Datei, die ich von Ubuntu Echo Hello
geschrieben habe von Ubuntu Echo Hello
geschrieben Core ist der Befehl und hallo
ist der Parlo-Parameter? Das haben wir auch auf der
vorherigen Folie gesehen, wo der erste Teil der Name der ausführbaren Datei und der zweite Teil der Parametername
wäre Nun, hier haben wir Docker
Run mit dem Namen des Images ausgeführt. Das ist Ihr
Beispielbild. In Ordnung. Hier drüben haben wir
Docker Run Sample Mas ausgeführt. Das heißt, bitte erstellen Sie einen
Container mit dieser Seite. Hier drüben stand Hallo drauf. Das war
in dieser Docker-Datei. Also bitte führe hallo aus, weißt
du, der Befehl
ist echo und hello Bitte führen Sie diese
spezielle Docker-Datei aus, und das ist es, was Hallo gedruckt
wurde Nehmen wir nun an,
anstatt zu sagen, du weißt schon, ich möchte
diesen speziellen Parameter überschreiben Was ich tun werde, ist ein
Docker-Run-Beispielbild zu schreiben. Der Name des Befehls,
Echo und der Parameter. Hallo Docker. Diesmal, was gedruckt
wird Hallo Docker Aber was ist, wenn ich so
etwas mache, ich direkt
den Parameternamen
anstelle meines Befehls angegeben den Parameternamen
anstelle meines Befehls Das heißt, was
passiert, wenn Sie diese Methode
verwenden, bei der Sie den Parameter
direkt angeben, Docker wird verstehen, dass Sie tatsächlich
den gesamten Befehl selbst ersetzen Das bedeutet, dass
Docker anstelle von Echo versteht, dass Sie
versuchen , dass Ihr ausführbarer
Name Hello Docker ist, und das wird zu einem Fehler führen Aber was ist, wenn Sie möchten, dass dieser spezielle Befehl repariert wird und was auch immer, sagen
wir, Sie sagen hier, hallo do hello docker
two, hello doc five, was auch immer Sie
ausführen, das wird automatisch an
diesen Befehl hier angehängt In diesem Fall verwenden Sie
etwas, das als Einstiegspunkt bezeichnet
wird etwas, das als Einstiegspunkt bezeichnet Das Gleiche. Das
ist ein Beispielbild. Sie können das
hier im Einstiegspunkt sehen. Wir werden diesen
Einstiegspunkt-Befehl verwenden, und wir sagen
diesen Befehl Echo. Nun, dieses Mal,
was passieren wird, siehe Docker Run-Beispielbild Ich sage, mein Name
meines Images ist unabhängig vom
Beispielbild, und hallo Docker Dieses Mal habe ich
den Parameter angegeben. Was passieren wird, Echo
über dem Haar ist behoben. Das bedeutet, welchen
Parameter Sie auch angeben, er wird
automatisch an diesen Befehl
angehängt Das heißt, du
reparierst den Befehl. Sie behalten den Befehl fest, und was auch immer Sie angeben
, es wird
an den Befehl selbst angehängt Dort werden wir diesen Einstiegspunkt
verwenden. Das ist der Unterschied zwischen CMD und Entry Point Instruction In der CMD
wird im Grunde der gesamte Befehl ersetzt Wenn Sie den
Befehl jedoch automatisch korrigieren möchten, werden
die Parameter an eine Eingabeaufforderung oder einen Befehl
angehängt Anschließend verwenden
Sie einen
sogenannten
Einstiegspunktbefehl sogenannten
Einstiegspunktbefehl Ich hoffe, dieser Teil ist klar.
Ich danke euch allen.