Maison Opération et maintenance Docker Comment utiliser le réseau virtuel Docker

Comment utiliser le réseau virtuel Docker

Apr 19, 2023 am 09:15 AM

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.

  1. Créer et gérer un réseau virtuel Docker

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.

  1. Connecter les conteneurs au réseau virtuel Docker

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

Démarrez un conteneur nommé "webserver" et connectez-le au réseau virtuel à l'aide de la commande suivante :

docker run --name database --network my-network -e MYSQL_ROOT_PASSWORD=password -d mysql
Dans la commande ci-dessus, nous avons utilisé l'image "nginx" pour créer notre conteneur. Le paramètre -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
Dans la commande ci-dessus, nous utilisons l'image "mysql" pour créer notre conteneur et configurer un mot de passe root MySQL.
  1. Maintenant, nous avons créé deux conteneurs et les avons connectés au réseau virtuel que nous avons créé.

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
Ensuite, on crée une simple page index.html en utilisant l'éditeur de texte nano :

<!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>
Dans la page, on ajoutez le contenu suivant :

http://127.0.0.1:8080
Dans le code ci-dessus, nous ajoutons un message texte à la page, et un script PHP pour se connecter à la base de données MySQL dans le conteneur "database".

Maintenant, nous pouvons simplement ouvrir la page en utilisant l'URL suivante sur le navigateur Web de la machine physique :

...
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
La page affichera "Bonjour du serveur Web !" et un message de connexion réussie.

Pendant ce temps, si nous exécutons la commande "docker logs database" sur le conteneur "database", nous verrons le résultat suivant :
    rrreee
  1. Cela indique que la communication entre les deux conteneurs est normale et que notre page de test peut réussir. Connectez-vous à la base de données MySQL sur le conteneur "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.
  1. De plus, nous pouvons également utiliser le réseau virtuel Docker pour restreindre l'accès des conteneurs aux réseaux externes. Par exemple, nous pouvons augmenter la sécurité de notre application en créant un réseau virtuel et en garantissant que les conteneurs ne peuvent communiquer qu'avec d'autres conteneurs de ce réseau et ne peuvent pas accéder à d'autres conteneurs sur Internet.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1525
276
Comment installer Docker sur Mac? Comment installer Docker sur Mac? Jul 26, 2025 am 05:55 AM

DockercanbeinstalledonamacusingdockerdesktopbyfollowingTheSesteps: 1.Verifieryourmacmeets there equits - macos10.15ornewer, Intel OrAppleSiliConChip, atleast4gbram, andVirtualizationEnabled; 2.DownloadDockerDeskTopFromHttps: //www.docker.com/products/docker-D

Comment désinstaller Docker? Comment désinstaller Docker? Jul 28, 2025 am 12:02 AM

Onwindows, uninstalldockerdesktopviatesettings → applications, thermoveleftOverfilesInwslwithSudorm-rf / var / lib / docker.2.onmacos, quitdocke RDESKTOP, MOVECHOCKER.APTOTRASH, ANDELEDELECONFIGURATIONSFILES DE LA ~ / BIBLIOTHÈQUE.3.onubuntu / Debian, StopTheService, Purgedockerpackagesw

Comment sauvegarder un conteneur Docker avec ses données? Comment sauvegarder un conteneur Docker avec ses données? Jul 26, 2025 am 02:59 AM

TobackupadockerContainerwithitsData, FirstBackupNamedVolumeSusingAporaryContainertOceAreatarBallofthevolumeContents.2.Next, préserveContainerConfigurationByExporttingWithDockerinspector, préférablement, bydefiningItinaDockerComposeFile.3

Comment copier des fichiers de l'hôte vers le conteneur Docker? Comment copier des fichiers de l'hôte vers le conteneur Docker? Jul 27, 2025 am 02:37 AM

Utilisez la commande dockercp pour copier des fichiers de l'hôte vers le conteneur Docker sans avoir besoin d'exécuter le conteneur; 2. Assurez-vous que le conteneur existe et exécutez dockercp / path / on / hostfile.txtContainer-name: / path / in / conteneur; 3. Si le répertoire cible n'existe pas, vous devez d'abord le créer. Lors de la copie de l'ensemble du dossier, le contenu sera copié récursivement. Une fois l'opération terminée, le fichier sera disponible dans le conteneur, sans reconstruire l'image ni monter le volume.

Comment exécuter des applications GUI dans un conteneur Docker? Comment exécuter des applications GUI dans un conteneur Docker? Jul 27, 2025 am 12:25 AM

Pour exécuter l'application GUI dans le conteneur Docker, vous devez partager le service d'affichage de l'hôte et configurer correctement les autorisations: 1. Exécutez xhost local: docker sur Linux pour permettre au conteneur d'accéder à x11; 2. Mount /tmp/.x11-unix et variables d'environnement d'affichage lors du démarrage du conteneur; 3. Assurez-vous que les dépendances liées à X11 sont installées dans le miroir; 4. Ajouter éventuellement la prise en charge du GPU, de l'audio et du périphérique d'entrée; 5. ou utilisez la solution VNC / Novnc pour obtenir un accès sécurisé multiplateforme; 6. MacOS doit installer XQuartz et définir l'affichage en tant qu'IP hôte; 7. Windows doit coopérer avec VCXSRV et d'autres serveurs X via WSL2 et configurer l'affichage et configurer l'affichage via WSL2 et utiliser VCXSRV et d'autres serveurs X et configurer l'affichage

Comment déployez-vous des applications dans un cluster Docker Swarm? Comment déployez-vous des applications dans un cluster Docker Swarm? Jul 21, 2025 am 02:05 AM

La clé pour déployer des applications sur Dockerswarm est d'utiliser des services plutôt que des conteneurs autonomes, et de gérer les configurations, les clés et les mises à jour de roulement via des outils intégrés. 1. Premièrement, conteneurisez l'application et poussez-la vers un référentiel miroir accessible au nœud d'essaim; 2. Utilisez DockerServiceCreate pour définir le service et son état attendu, tels que le nombre de répliques, la cartographie des ports, etc.; 3. Utilisez des dockerSecret et DockerConfig pour gérer respectivement les informations sensibles et les configurations non sensibles et les référencer dans le service; 4. Utilisez DockerServicesCale pour réaliser la mise à l'échelle, utilisez DockerServiceUpdate pour effectuer des mises à jour de version interrompue et peut contrôler la stratégie de mise à jour via les paramètres.

Comment définissez-vous les limites de ressources (CPU, mémoire) pour un conteneur Docker? Comment définissez-vous les limites de ressources (CPU, mémoire) pour un conteneur Docker? Jul 24, 2025 am 12:33 AM

Pour limiter l'utilisation des ressources des conteneurs Docker, vous pouvez spécifier les limites de CPU et de mémoire via des paramètres de ligne de commande lors de l'exécution du conteneur. Les méthodes spécifiques sont les suivantes: 1. Utiliser --memory (ou -m) pour définir la limite supérieure de la mémoire, telle que --memory = "512m" signifie que la limite est de 512 Mo de RAM; 2. Utiliser - Memory-Swap pour définir la mémoire totale plus l'espace de swap, tel que --memory-swap = "1g" signifie un total de 1 Go disponible; 3. Utiliser --CPUS pour limiter le nombre de noyaux de processeur, tels que --cpus = "1,5" signifie que jusqu'à 1,5 noyaux de processeur sont utilisés; 4. Utiliser --CPU-S

Comment supprimer les images docker pendantes? Comment supprimer les images docker pendantes? Aug 02, 2025 am 11:37 AM

SanglingImageSaUntaggedlayers n'est pas associé à un contrat de contrôle et à un canneauvoyovedusingDocker’sbuilt-Incommands.1.UsedOckerimagePrunetosafeLyRemovedangLingImages après la congrat, un Oraddd-FoltoforreMovalswithoutprompt.2.

See all articles