Comment utiliser le réseau virtuel Docker
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.
- 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.
- 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
docker run --name database --network my-network -e MYSQL_ROOT_PASSWORD=password -d mysqlDans 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 nanoDans la commande ci-dessus, nous utilisons l'image "mysql" pour créer notre conteneur et configurer un mot de passe root MySQL.
- 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.htmlEnsuite, 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:8080Dans 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 databaseLa 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
- 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.- 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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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

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

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

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.

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

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.

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

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.
