Docker ermöglicht die Bereitstellung von Netzwerkdiensten durch den externen Zugriff auf Container oder durch die Verbindung von Containern. Die folgenden Vorgänge werden durch das myfirstapp-Image simuliert. Klicken Sie hier, um zu erfahren, wie Sie ein myfirstapp-Image erstellen. 1. Container mit externem Zugriff Nachdem der Container gestartet wurde, können einige Netzwerkanwendungen im Container ausgeführt werden und die Portzuordnung kann über den Parameter -p oder -P angegeben werden. a. Wenn Sie das Flag -P (Großbuchstabe) verwenden, wählt Docker nach dem Zufallsprinzip einen Port aus und ordnet ihn dem offenen Netzwerkport im Container zu. $ docker run -d -P meineersteapp python app.py $ Docker ps CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN dbcf5d3290ba myfirstapp "python app.py" vor 4 Sekunden Up 4 Sekunden 0.0.0.0:32770->80/tcp quizzical_engelbart Derzeit kann über Port 32770 des lokalen Computers auf die von der Webanwendung im Container bereitgestellte Schnittstelle zugegriffen werden. $ curl http://192.168.1.160:32770/ <h3>Hallo HALLO!</h3><b>Hostname:</b> dbcf5d3290ba<br/><b>Besuche:</b> <i>Verbindung zu Redis nicht möglich, Zähler deaktiviert</i> Sie können Docker-Protokolle auch verwenden, um Anwendungsinformationen anzuzeigen $ Docker-Protokolle dbcf5d3290ba * Läuft unter http://0.0.0.0:80/ (Zum Beenden STRG+C drücken) 192.168.1.5 - - [29/Mar/2018 06:17:34] "GET / HTTP/1.1" 200 - 192.168.1.5 - - [29/Mar/2018 06:17:34] "GET /favicon.ico HTTP/1.1" 404 - 192.168.1.160 - - [29/Mar/2018 06:17:43] "GET / HTTP/1.1" 200 - 192.168.1.5 - - [29/Mar/2018 06:18:59] "GET / HTTP/1.1" 200 - b. Wenn Sie das Flag -p (Kleinbuchstaben) verwenden, können Sie den zuzuordnenden Port angeben, und nur ein Container kann an einen angegebenen Port gebunden werden. Die unterstützten Formate sind: ip:Hostport:Containerport ip::Containerport Hostport:Containerport $ docker run -d -p 4000:80 meineersteapp python app.py $ docker run -d -p 4001:80 meineersteapp python app.py $ locken http://192.168.1.160:4000/ Hallo HALLO!Hostname: f43ed2810353 Besuche: Verbindung zu Redis nicht möglich, Zähler deaktiviert $ curl http://192.168.1.160:4001/ Hallo HALLO! Hostname:f43ed2810353 Besuche: Verbindung zu Redis nicht möglich, Zähler deaktiviert Sie können sehen, dass der lokale Port 4000 und ein weiterer Port 4001 zugeordnet wurden. Standardmäßig ordnet Docker alle lokalen Adressen zu. Versuchen wir nun, einen angegebenen Port einer angegebenen Adresse zuzuordnen. $ docker run -d -p 127.0.0.1:4000:80 meineersteapp python app.py $ curl http://127.0.0.1:4000/ ##Zugriff über $ curl http://localhost:4000/ ##Zugriff über $ curl http://192.168.1.160:4000/ ##Zugriff verweigert curl: (7) Verbindung zu 192.168.1.160:4000 fehlgeschlagen; Verbindung abgelehnt Um dann auf die Anwendung im Container zuzugreifen, können Sie nur über die IP-Adresse 127.0.0.1 darauf zugreifen. Der nächste Schritt besteht darin, einen beliebigen Port auf der lokalen Maschine an Port 80 des Containers zu binden und zufällig einen Port zuzuweisen $ docker run -d -p 127.0.0.1::80 meineersteapp python app.py $ docker ps ##127.0.0.1:32770->80/tcp $ curl http://127.0.0.1:32770/ ##Zugriff über $ curl http://localhost:32770/ ##Zugriff über $ curl http://192.168.1.160:32770/ ##Zugriff verweigert Sie können auch das Kommunikationsprotokoll angeben docker run -d -p 5003:80/udp myfirstapp python app.py 2. Zeigen Sie die an den Container gebundenen und zugeordneten Ports und IP-Adressen an $ Docker-Port 44de1b0b5312 (Container-ID) 80/tcp -> 127.0.0.1:32770 3. Hinweise a.docker inspect, um das interne Netzwerk und die IP-Adresse des Containers anzuzeigen $ docker inspect 44de1b0b5312 (Container-ID) b. Binden Sie beim Starten des Containers mehrere IP-Adressen $ docker run -d -p 5005:5000 -p 5006:80 myfirstapp python app.py #Container-ID: 44e703c1279a $ Docker-Port 44e703c1279a 5000/tcp -> 0.0.0.0:5005 80/tcp -> 0.0.0.0:5006 Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: MYSQL Eine Frage zur Verwendung von Zeichenfunktionen zum Filtern von Daten
Heute ist mein Kollege beim Schreiben von MySQL-A...
Inhaltsverzeichnis Einfache Fabrik Fabrikmethode ...
Zwei Methoden zur Implementierung der Mysql-Remot...
Inhaltsverzeichnis Vorwort Rollprinzip erreichen ...
Inhaltsverzeichnis 1. Die Rolle des Index 2. Erst...
Async Hooks ist eine neue Funktion von Node8. Sie...
Ein Datenbankindex ist eine Datenstruktur, deren ...
Als Open-Source-Software ist Apache eine der am h...
Was ist MySQL Multi-Instance Einfach ausgedrückt ...
Betrachten wir zunächst ein Beispiel: In der Arti...
Einführung Um Datenverlust in einer Produktionsum...
Inhaltsverzeichnis Vorwort Typinferenz Einengung ...
v-for-Richtlinie Wenn wir von Listen sprechen, mü...
Standardmäßig werden Breite und Höhe der Tabelle ...
Effektbild (die Rahmenfarbe ist zu hell, setzen S...