So verwenden Sie das virtuelle Docker-Netzwerk

PHPz
Freigeben: 2023-04-19 09:29:48
Original
921 Leute haben es durchsucht

Docker ist derzeit eine der beliebtesten Containerisierungsplattformen, die die Bereitstellung und Verwaltung von Anwendungen erheblich vereinfachen kann. Eine der wichtigsten Funktionen ist das virtuelle Docker-Netzwerk, das Benutzern hilft, mehrere Container auf einer separaten physischen Maschine zu erstellen und zusammenzuarbeiten, während gleichzeitig eine gute Netzwerkisolation und -sicherheit gewährleistet wird.

In diesem Artikel stellen wir vor, wie man das virtuelle Docker-Netzwerk verwendet, um Kommunikation und Netzwerkinteroperabilität zwischen Containern aufzubauen, und stellen außerdem die Bedeutung der Netzwerkisolation und -sicherheit vor.

  1. Erstellen und verwalten Sie ein virtuelles Docker-Netzwerk.

Zuerst müssen wir ein virtuelles Docker-Netzwerk erstellen. Sie können den folgenden Befehl verwenden, um ein virtuelles Netzwerk mit dem Namen „my-network“ zu erstellen:

docker network create my-network
Nach dem Login kopieren

Nachdem Sie das Netzwerk erstellt haben, können Sie den folgenden Befehl verwenden, um das aktuelle virtuelle Docker-Netzwerk aufzulisten:

docker network ls
Nach dem Login kopieren

Die Ergebnisse sind wie folgt:

NETWORK ID          NAME                DRIVER              SCOPE
6e8c0391c9ac        bridge              bridge              local
a8a551c45849        host                host                local
d6a050011a56        my-network          bridge              local
69f86bb8f6bc        none                null                local
Nach dem Login kopieren

Jetzt haben wir ein virtuelles Netzwerk namens „my-network“ erstellt, mit dem Container erstellt und kommuniziert werden können.

  1. Container mit dem virtuellen Docker-Netzwerk verbinden

Als Nächstes erstellen wir zwei Container und verbinden sie mit dem soeben erstellten virtuellen Netzwerk „My-Network“. Wir verwenden den Parameter --network, um den Container mit dem virtuellen Netzwerk zu verbinden. --network参数将容器连接到虚拟网络。

使用以下命令启动一个名为"webserver"的容器,并将其连接到虚拟网络:

docker run --name webserver --network my-network -p 8080:80 -d nginx
Nach dem Login kopieren

在上面的命令中,我们使用了"nginx"镜像来创建我们的容器。-p

Starten Sie einen Container mit dem Namen „Webserver“ und verbinden Sie ihn mit dem folgenden Befehl mit dem virtuellen Netzwerk:

docker run --name database --network my-network -e MYSQL_ROOT_PASSWORD=password -d mysql
Nach dem Login kopieren
Im obigen Befehl haben wir das „nginx“-Image verwendet, um unseren Container zu erstellen. Der Parameter -p ordnet den Port „80“ des Docker-Containers dem Port „8080“ der physischen Maschine zu.

Wir können auch einen zweiten Container erstellen und ihn mit einer ähnlichen Methode mit dem virtuellen Netzwerk verbinden:

docker exec -it webserver apt-get update
docker exec -it webserver apt-get install nano
Nach dem Login kopieren
Im obigen Befehl verwenden wir das „mysql“-Image, um unseren Container zu erstellen und ein MySQL-Root-Passwort einzurichten.
  1. Jetzt haben wir zwei Container erstellt und sie mit dem von uns erstellten virtuellen Netzwerk verbunden.

Kommunikation zwischen Containern testen

Um zu testen, ob unsere Container erfolgreich kommunizieren, können wir eine einfache HTML-Seite im „Webserver“ verwenden.

Zuerst gehen wir in den „Webserver“-Container und installieren den Texteditor Nano mit dem folgenden Befehl:

docker exec -it webserver nano /usr/share/nginx/html/index.html
Nach dem Login kopieren
Dann erstellen wir eine einfache index.html-Seite mit dem Nano-Texteditor:

<!DOCTYPE html>
<html>
<head>
<title>Welcome to my website</title>
</head>
<body>
<p>Hello from webserver!</p>
<?php
$servername = "database";
$username = "root";
$password = "password";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully to database";
?>
</body>
</html>
Nach dem Login kopieren
In der Seite haben wir Fügen Sie den folgenden Inhalt hinzu:

http://127.0.0.1:8080
Nach dem Login kopieren
Im obigen Code fügen wir der Seite eine Textnachricht und ein PHP-Skript hinzu, um eine Verbindung zur MySQL-Datenbank im Container „Datenbank“ herzustellen.

Jetzt können wir die Seite einfach über die folgende URL im Webbrowser der physischen Maschine öffnen:

...
Version: '5.7.22'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server (GPL)
2019-05-22T20:02:24.809716Z 0 [Note] Event Scheduler: Loaded 0 events
Connected successfully to database
Nach dem Login kopieren
Auf der Seite werden „Hallo vom Webserver!“ und eine Meldung über die erfolgreiche Verbindung angezeigt.

Wenn wir in der Zwischenzeit den Befehl „Docker Logs Database“ für den Container „Datenbank“ ausführen, sehen wir die folgende Ausgabe:
    rrreee
  1. Dies zeigt an, dass die Kommunikation zwischen den beiden Containern normal ist und unsere Testseite erfolgreich verbunden werden kann die MySQL-Datenbank im Container „database“.

Netzwerkisolation und -sicherheit

Eine weitere wichtige Rolle des virtuellen Docker-Netzwerks besteht darin, Netzwerkisolation und -sicherheit zwischen verschiedenen Containern bereitzustellen. Wenn wir beispielsweise einen Schadcode im Container „Webserver“ ausführen, kann dieser nicht auf andere Container zugreifen und diese nicht beeinträchtigen.
  1. Darüber hinaus können wir das Docker Virtual Network auch verwenden, um den Containerzugriff auf externe Netzwerke einzuschränken. Beispielsweise können wir die Sicherheit unserer Anwendung erhöhen, indem wir ein virtuelles Netzwerk erstellen und sicherstellen, dass Container nur mit anderen Containern in diesem Netzwerk kommunizieren und nicht auf andere Container im Internet zugreifen können.

Zusammenfassung

In diesem Artikel haben wir vorgestellt, wie man das virtuelle Docker-Netzwerk verwendet, um verschiedene Container zu verbinden und die Kommunikation zwischen Containern zu ermöglichen. Wir haben auch gelernt, wie virtuelle Docker-Netzwerke für Netzwerkisolation und -sicherheit sorgen. 🎜🎜Virtuelles Netzwerk ist eine sehr wichtige Funktion in Docker, mit der leistungsstarke Containeranwendungen erstellt und gute Sicherheit bereitgestellt werden kann. Wenn Sie eine Anwendung mit Docker erstellen, sollten Sie unbedingt die Verwendung virtueller Netzwerke in Betracht ziehen, um die Sicherheit und Effizienz Ihrer Anwendung zu verbessern. 🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das virtuelle Docker-Netzwerk. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage