Heim >Betrieb und Instandhaltung >Docker >So verwenden Sie das virtuelle Docker-Netzwerk
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.
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
Nachdem Sie das Netzwerk erstellt haben, können Sie den folgenden Befehl verwenden, um das aktuelle virtuelle Docker-Netzwerk aufzulisten:
docker network ls
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
Jetzt haben wir ein virtuelles Netzwerk namens „my-network“ erstellt, mit dem Container erstellt und kommuniziert werden können.
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
在上面的命令中,我们使用了"nginx"镜像来创建我们的容器。-p
docker run --name database --network my-network -e MYSQL_ROOT_PASSWORD=password -d mysqlIm 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 nanoIm obigen Befehl verwenden wir das „mysql“-Image, um unseren Container zu erstellen und ein MySQL-Root-Passwort einzurichten.
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.htmlDann 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>In der Seite haben wir Fügen Sie den folgenden Inhalt hinzu:
http://127.0.0.1:8080Im 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 databaseAuf 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:
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.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!