Quels sont les quatre modes réseau de Docker ?
Les quatre modes réseau de Docker sont : 1. Le mode hôte, spécifié avec « –net=host » ; 2. Le mode conteneur, spécifié avec « –net=container:NAME_or_ID » ; 3. le mode none, spécifié avec « –net= none » ; " spécifié ; 4. mode pont.
L'environnement d'exploitation de ce tutoriel : système linux5.9.8, version docker-1.13.1, ordinateur Dell G3.
Principe d'implémentation
Docker utilise le pontage Linux (voir "Linux Virtual Network Technology") pour virtualiser un pont de conteneur Docker (docker0) sur l'hôte Lorsque Docker démarre un conteneur, il sera attribué au conteneur en fonction du réseau. segment du pont Docker. L'adresse IP, appelée Container-IP, et le pont Docker sont les passerelles par défaut pour chaque conteneur. Étant donné que les conteneurs du même hôte sont tous connectés au même pont réseau, les conteneurs peuvent communiquer directement via le Container-IP du conteneur.
Le pont Docker est virtualisé par l'hôte et n'est pas un véritable périphérique réseau. Il ne peut pas être adressé par le réseau externe, ce qui signifie également que le réseau externe ne peut pas accéder au conteneur via Container-IP direct. Si le conteneur souhaite être accessible de l'extérieur, vous pouvez mapper le port du conteneur sur l'hôte (mappage de port), c'est-à-dire l'activer via le paramètre -p ou -P lorsque Docker Run crée le conteneur et utiliser [host IP ] lors de l'accès au conteneur : [Port du conteneur] Accédez au conteneur.
Quatre types de modes réseau
Mode réseau Docker | Configuration | Instructions |
---|---|---|
mode hôte | –net=host | Le conteneur et l'hôte partagent l'espace de noms réseau. |
mode conteneur | –net=container:NAME_or_ID | Le conteneur partage l'espace de noms réseau avec un autre conteneur. Un pod dans Kubernetes est un espace de noms réseau partagé par plusieurs conteneurs. |
none mode | –net=none | Le conteneur a un espace de noms réseau indépendant, mais aucun paramètre réseau n'est défini pour lui, comme l'attribution d'une paire veth et de connexions de pont, la configuration de l'IP, etc. |
mode pont | –net=bridge | (ce mode est par défaut) |
Mode hôte
Si vous utilisez le mode hôte lors du démarrage d'un conteneur, le conteneur n'obtiendra pas d'espace de noms réseau indépendant, mais partagera un espace de noms réseau avec l'hôte. Le conteneur ne virtualisera pas sa propre carte réseau, ne configurera pas sa propre IP, etc., mais utilisera l'IP et le port de l'hôte. Cependant, d'autres aspects du conteneur, tels que le système de fichiers, la liste des processus, etc., restent isolés de l'hôte.
Les conteneurs utilisant le mode hôte peuvent utiliser directement l'adresse IP de l'hôte pour communiquer avec le monde extérieur. Le port de service à l'intérieur du conteneur peut également utiliser le port de l'hôte sans NAT. Le plus grand avantage de l'hôte est que les performances du réseau sont bonnes. C'est mieux, mais les ports de l'hôte Docker qui ont été utilisés ne peuvent pas être réutilisés et l'isolation du réseau n'est pas bonne.
Le mode hôte est illustré dans la figure ci-dessous :
mode conteneur
Ce mode spécifie que le conteneur nouvellement créé partage un espace de noms réseau avec un conteneur existant, plutôt que de le partager avec l'hôte. Le conteneur nouvellement créé ne créera pas sa propre carte réseau et ne configurera pas sa propre adresse IP, mais partagera l'adresse IP, la plage de ports, etc. avec un conteneur spécifié. De même, outre le réseau, les deux conteneurs sont également isolés sur d'autres aspects tels que les systèmes de fichiers, les listes de processus, etc. Les processus des deux conteneurs peuvent communiquer via le périphérique de carte réseau.
Diagramme du mode conteneur :
mode aucun
En utilisant le mode aucun, le conteneur Docker possède son propre espace de noms réseau, mais aucune configuration réseau n'est effectuée pour le conteneur Docker. En d’autres termes, ce conteneur Docker n’a pas de carte réseau, d’adresse IP, de routage et autres informations. Nous devons nous-mêmes ajouter des cartes réseau, configurer l'IP, etc. au conteneur Docker.
Dans ce mode réseau, le conteneur ne dispose que du réseau de bouclage faible et d'aucune autre carte réseau. aucun mode ne peut être spécifié par --network=none lors de la création du conteneur. Ce type de réseau ne peut pas être connecté à Internet. Un réseau fermé peut assurer la sécurité du conteneur.
Diagramme de mode Aucun :
mode pont
Lorsque le processus Docker démarre, un pont virtuel nommé docker0 sera créé sur l'hôte, et le conteneur Docker démarré sur cet hôte se connectera à ce réseau virtuel sur le pont. Un pont virtuel fonctionne de la même manière qu'un commutateur physique, de sorte que tous les conteneurs de l'hôte sont connectés à un réseau de couche 2 via le commutateur.
Attribuez une adresse IP du sous-réseau docker0 au conteneur et définissez l'adresse IP docker0 comme passerelle par défaut du conteneur. Créez une paire de périphériques de paire de cartes réseau virtuelles sur l'hôte. Docker place une extrémité du périphérique de paire veth dans le conteneur nouvellement créé et le nomme eth0 (la carte réseau du conteneur) et l'autre extrémité dans l'hôte avec un nom similaire. comme vethxxx Nommez et ajoutez ce périphérique réseau au pont docker0. Vous pouvez le visualiser via la commande brctl show.
Le mode pont est le mode réseau par défaut de Docker. Si vous n'écrivez pas le paramètre --net, c'est le mode pont. Lors de l'utilisation de docker run -p, docker crée en fait des règles DNAT dans iptables pour implémenter la fonction de redirection de port. Vous pouvez utiliser iptables -t nat -vnL pour afficher.
Le mode pont est présenté dans l'image ci-dessous :
Apprentissage recommandé : "Tutoriel vidéo Docker"
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

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.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

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)

Pour obtenir la version Docker, vous pouvez effectuer les étapes suivantes: exécutez la commande docker "docker --version" pour afficher les versions client et serveur. Pour Mac ou Windows, vous pouvez également afficher les informations de version via l'onglet Version de la GUI de bureau Docker ou du menu de bureau à propos de Docker.

Étapes pour créer une image docker: écrivez un dockerfile qui contient les instructions de construction. Créez l'image dans le terminal, en utilisant la commande docker build. Marquez l'image et attribuez des noms et des balises à l'aide de la commande docker tag.

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Les étapes pour mettre à jour une image Docker sont les suivantes: Tirez la dernière étiquette d'image Nouvelle image Supprimer l'ancienne image pour une balise spécifique (facultative) Redémarrez le conteneur (si nécessaire)

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Les méthodes pour afficher les journaux Docker incluent: à l'aide de la commande docker logs, par exemple: docker logs contener_name Utilisez la commande docker exec pour exécuter / bin / sh et afficher le fichier journal, par exemple: docker exec -it contener_name / bin / sh; Cat /var/log/continer_name.log Utilisez la commande docker-compose JORS de Docker Compose, par exemple: docker-compose -f docker-com

Vous pouvez passer à la source de miroir domestique. Les étapes sont les suivantes: 1. Modifiez le fichier de configuration /etc/docker/daemon.json et ajoutez l'adresse source miroir; 2. Après enregistrer et sortir, redémarrez le service Docker Sudo Systemctl Docker pour améliorer la vitesse et la stabilité du téléchargement d'image.

Pour enregistrer l'image dans Docker, vous pouvez utiliser la commande docker commit pour créer une nouvelle image, contenant l'état actuel du conteneur spécifié, Syntaxe: Docker Commit [Options] Nom d'image de l'ID de conteneur. Pour enregistrer l'image dans le référentiel, vous pouvez utiliser la commande docker push, Syntax: Docker Push Image Name [: Tag]. Pour importer des images enregistrées, vous pouvez utiliser la commande docker pull, syntaxe: docker pull name [: tag].
