Docker est actuellement l'une des plates-formes de conteneurisation les plus populaires, ce qui peut grandement simplifier le déploiement et la gestion des applications. L'une des fonctionnalités les plus importantes est le réseau virtuel Docker, qui aide les utilisateurs à créer plusieurs conteneurs sur une machine physique distincte et à travailler en collaboration tout en offrant une bonne isolation et sécurité du réseau.
Dans cet article, nous présenterons comment utiliser le réseau virtuel Docker pour établir la communication et l'interopérabilité réseau entre les conteneurs, et présenterons également l'importance de l'isolation et de la sécurité du réseau.
Tout d'abord, nous devons créer un réseau virtuel Docker. Vous pouvez utiliser la commande suivante pour créer un réseau virtuel nommé « mon-réseau » :
docker network create my-network
Après avoir créé le réseau, vous pouvez utiliser la commande suivante pour lister le réseau virtuel docker actuel :
docker network ls
Les résultats sont les suivants :
NETWORK ID NAME DRIVER SCOPE 6e8c0391c9ac bridge bridge local a8a551c45849 host host local d6a050011a56 my-network bridge local 69f86bb8f6bc none null local
Maintenant, nous avons créé Créez un réseau virtuel appelé "mon-réseau" qui peut être utilisé pour créer des conteneurs et communiquer.
Ensuite, nous allons créer deux conteneurs et les connecter au réseau virtuel "mon-réseau" que nous venons de créer. Nous utilisons le paramètre --network
pour connecter le conteneur au réseau virtuel. --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 mysql
-p
mappe le port « 80 » du conteneur Docker au port « 8080 » de la machine physique. Nous pouvons également créer un deuxième conteneur et le connecter au réseau virtuel en utilisant une méthode similaire :
docker exec -it webserver apt-get update docker exec -it webserver apt-get install nano
Tester la communication entre les conteneurs
Pour tester que nos conteneurs communiquent avec succès, nous pouvons utiliser une simple page HTML dans le "serveur web". Tout d'abord, on va dans le conteneur "webserver" et on installe l'éditeur de texte nano en utilisant la commande suivante :docker exec -it webserver nano /usr/share/nginx/html/index.html
<!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>
http://127.0.0.1:8080
... 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
Isolation et sécurité du réseau
Un autre rôle important du réseau virtuel Docker est de fournir l'isolation et la sécurité du réseau entre les différents conteneurs. Par exemple, si nous exécutons un code malveillant dans le conteneur « serveur Web », il ne pourra pas accéder aux autres conteneurs et les affecter.Résumé
Dans cet article, nous avons présenté comment utiliser le réseau virtuel Docker pour connecter différents conteneurs et permettre la communication entre les conteneurs. Nous avons également appris comment les réseaux virtuels Docker assurent l'isolation et la sécurité du réseau. 🎜🎜Le réseau virtuel est une fonctionnalité très importante de Docker, qui peut être utilisée pour créer de puissantes applications conteneurisées et assurer une bonne sécurité. Si vous créez une application à l'aide de Docker, pensez à utiliser des réseaux virtuels pour améliorer la sécurité et l'efficacité de votre application. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!