Comment configurer la mise en réseau de conteneurs sous Linux

王林
Libérer: 2023-07-05 15:33:07
original
811 Les gens l'ont consulté

Comment configurer un réseau de conteneurs sous Linux

À l'ère actuelle du cloud computing, la technologie de conteneurisation est de plus en plus favorisée par les développeurs. En tant que plate-forme de conteneurisation la plus populaire actuellement, Docker nous offre une méthode de gestion de conteneurs pratique et efficace. La configuration réseau des conteneurs est également particulièrement importante dans le déploiement d'applications conteneurisées. Dans cet article, nous présenterons comment configurer le réseau de conteneurs sous Linux pour faciliter la communication entre les conteneurs et l'interconnexion avec le monde extérieur.

1. Comprendre le mode réseau

Docker propose une variété de modes réseau parmi lesquels choisir. Nous devons choisir la méthode appropriée en fonction des besoins réels.

  1. Bridge (mode pont) : Mode par défaut, crée un réseau virtuel (pont) et connecte chaque conteneur à ce réseau. Les conteneurs peuvent communiquer au sein de ce réseau en utilisant leurs propres adresses IP.
  2. Hôte (mode hôte) : le conteneur et l'hôte partagent le réseau, et le conteneur utilise directement l'adresse IP et l'interface réseau de l'hôte.
  3. Overlay (réseau superposé) : le mode réseau utilisé dans un environnement Docker multi-hôtes peut réaliser une communication de conteneur entre hôtes.
  4. MacVlan (MAC VLAN) : Le conteneur est associé à une adresse MAC d'interface spécifique dans le réseau physique et obtient directement une véritable adresse réseau physique.

2. Configurer le réseau en mode pont

Le mode pont est la méthode de configuration réseau la plus couramment utilisée pour Docker, qui peut réaliser la communication entre les conteneurs tout en s'isolant du réseau externe. Voici les étapes pour configurer un réseau en mode ponté.

  1. Créer un réseau
$ docker network create mynetwork
Copier après la connexion
  1. Démarrer le conteneur
$ docker run -d --name mycontainer --network mynetwork nginx
Copier après la connexion
Copier après la connexion

La commande ci-dessus démarrera un conteneur nommé mycontainer et l'ajoutera au réseau mynetwork.

  1. Communication entre conteneurs

Les conteneurs sur le même réseau peuvent communiquer en utilisant le nom du conteneur, et le nom du conteneur peut être résolu en l'adresse IP correspondante.

$ docker exec -it mycontainer1 ping mycontainer2 
Copier après la connexion

Vous pouvez utiliser cette commande pour envoyer une requête ping à un autre conteneur à partir d'un conteneur.

3. Configurer le réseau en mode hôte

Le réseau en mode hôte permet au conteneur d'utiliser directement l'interface réseau et l'adresse IP de l'hôte, de sorte que le conteneur et l'hôte partagent un espace de noms réseau. Voici les étapes pour configurer la mise en réseau en mode hôte.

  1. Démarrer le conteneur
$ docker run -d --name mycontainer --network host nginx
Copier après la connexion

La commande ci-dessus démarrera un conteneur nommé mycontainer et l'utilisera directement sur le réseau de l'hôte.

  1. Communication entre le conteneur et l'hôte

En mode hôte, le conteneur utilise directement l'interface réseau et l'adresse IP de l'hôte pour communiquer avec l'hôte.

$ docker exec -it mycontainer ping localhost 
Copier après la connexion

La commande ci-dessus peut cingler l'adresse de l'hôte dans le conteneur.

4. Configurer le réseau superposé

Le réseau superposé est généralement utilisé pour réaliser une communication de conteneur entre hôtes dans un environnement Docker multi-nœuds. Voici les étapes pour configurer un réseau superposé.

  1. Créer un réseau
$ docker network create -d overlay mynetwork
Copier après la connexion
  1. Démarrez le conteneur
$ docker service create --name myservice --network mynetwork nginx
Copier après la connexion

Utilisez la commande ci-dessus pour ajouter le service au réseau mynetwork lors de sa création.

  1. Communication entre conteneurs

Dans un réseau superposé, les noms de services peuvent être utilisés pour la communication entre conteneurs.

$ docker exec -it mycontainer1 ping myservice 
Copier après la connexion

La commande ci-dessus peut pinger le service dans le conteneur.

5. Configurer le réseau MAC VLAN

Le mode réseau MAC VLAN associe le conteneur à l'adresse MAC de l'interface dans le réseau physique et peut obtenir directement une adresse réseau physique réelle. Voici les étapes pour configurer un réseau MAC VLAN.

  1. Créer un réseau
$ docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 mynetwork
Copier après la connexion
  1. Démarrer le conteneur
$ docker run -d --name mycontainer --network mynetwork nginx
Copier après la connexion
Copier après la connexion

Utilisez la commande ci-dessus pour ajouter le conteneur au réseau mynetwork lors de sa création.

  1. Le conteneur communique avec le réseau physique

Dans le réseau MAC VLAN, le conteneur peut communiquer directement en utilisant l'interface du réseau physique.

$ docker exec -it mycontainer ping 192.168.1.2 
Copier après la connexion

La commande ci-dessus peut cingler l'adresse du réseau physique dans le conteneur.

Résumé

Grâce à l'introduction ci-dessus, nous comprenons comment configurer le réseau de conteneurs sous Linux. Selon les besoins réels, nous pouvons choisir le mode réseau approprié et le configurer selon les étapes correspondantes. La configuration réseau est très critique pour le déploiement et le fonctionnement des applications conteneurisées. J'espère que cet article pourra vous être utile.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal