Maison >Opération et maintenance >Docker >Comment spécifier l'adresse IP dans Docker

Comment spécifier l'adresse IP dans Docker

PHPz
PHPzoriginal
2023-04-19 11:36:236691parcourir

Avec la popularité du cloud computing et de la technologie de conteneurisation, Docker est devenu une solution de conteneurisation populaire. Étant donné que les conteneurs Docker utilisent par défaut l'adresse IP de la machine hôte, il est dans certains cas nécessaire de spécifier une adresse IP spécifique pour le conteneur Docker. Dans cet article, nous verrons comment spécifier l'adresse IP dans le conteneur Docker.

Allocation d'adresse IP pour les conteneurs Docker

Dans Docker, l'adresse IP d'un conteneur est allouée dynamiquement par le démon Docker. Par défaut, il utilise l'adresse IP de l'hôte. Dans ce cas, tous les conteneurs Docker peuvent communiquer via l'adresse IP de l'hôte.

Bien que ce paramètre par défaut soit suffisant pour la plupart des applications, dans certains cas, vous devrez peut-être spécifier une adresse IP statique pour votre conteneur Docker.

Spécifier l'adresse IP pour le conteneur Docker

Il existe deux façons de spécifier une adresse IP statique pour le conteneur Docker. Vous pouvez connecter un conteneur Docker au réseau physique de l'hôte via un profil réseau VLAN ou macvlan et le configurer pour utiliser une adresse IP statique. De plus, vous pouvez utiliser le mode réseau pont pour configurer votre propre réseau pour le conteneur, puis le configurer pour utiliser une adresse IP statique.

Méthode 1 : Utiliser un réseau VLAN ou macvlan

VLAN et réseau macvlan sont respectivement les concepts de LAN virtuel et de LAN physique. Ils permettent de connecter des conteneurs Docker au réseau physique de l'hôte et de leur attribuer des adresses IP statiques. Le principal avantage de cette approche est que le conteneur Docker et la machine hôte partagent le même réseau, afin que le conteneur puisse communiquer directement avec des périphériques externes.

Les étapes pour utiliser un réseau VLAN ou macvlan sont les suivantes :

  1. Créer un réseau VLAN ou macvlan

Pour connecter un conteneur Docker à un réseau physique, vous devez d'abord créer un réseau VLAN ou macvlan. Vous pouvez créer un réseau VLAN à l'aide de la commande suivante :

docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 mynetwork

Cette commande créera un réseau VLAN nommé mynetwork qui utilise le sous-réseau 192.168.1.0/24 et la passerelle 192.168.1.1. De plus, il spécifie que son interface réseau parent est eth0. Dans cet exemple, eth0 est l'interface réseau sur la machine hôte.

  1. Créez un conteneur Docker et connectez-le au réseau VLAN ou macvlan

Ensuite, vous devez créer un conteneur Docker dans un réseau VLAN ou macvlan. Utilisez la commande suivante pour créer un conteneur Docker et le connecter au réseau mynetwork :

docker run -itd --name mycontainer --network mynetwork --ip 192.168.1.10 busybox

Cette commande créera un conteneur Docker nommé mycontainer et le connectera au réseau mynetwork. De plus, il attribue l'adresse IP statique 192.168.1.10 au conteneur.

Vous pouvez désormais communiquer avec le conteneur mycontainer sans utiliser l'adresse IP de l'hôte. De plus, d'autres appareils peuvent accéder à ce conteneur via l'adresse IP statique 192.168.1.10.

Méthode 2 : Utiliser le réseau pont

Le réseau pont est l'un des modes réseau couramment utilisés dans Docker. Il vous permet de créer de nouveaux réseaux pour les conteneurs Docker et de les configurer pour utiliser des adresses IP statiques. Grâce à cette approche, le conteneur Docker est complètement isolé et ne peut pas partager le réseau avec l'hôte ou d'autres conteneurs.

Les étapes pour utiliser un réseau de pont sont les suivantes :

  1. Créer un réseau de pont

Pour créer un nouveau réseau pour les conteneurs Docker, utilisez la commande suivante :

docker network create --subnet=172.18.0.0/16 mybridge

Cette commande créera un réseau de pont nommé mybridge et spécifiez son Le sous-réseau est 172.18.0.0/16.

  1. Exécutez une application Web fonctionnelle dans un conteneur Docker

Ensuite, vous devez exécuter une application Web fonctionnelle dans un conteneur Docker. Démarrez un conteneur de serveur Web nginx à l'aide de la commande suivante :

docker run -itd --name mynginx --network mybridge nginx

Cette commande démarrera un conteneur Nginx nommé mynginx dans le réseau mybridge.

  1. Spécifiez l'adresse IP statique pour le conteneur Docker

Maintenant, vous devez spécifier l'adresse IP statique pour le conteneur mynginx. Attribuez une adresse IP statique au conteneur à l'aide de la commande suivante :

docker network connect --ip 172.18.0.2 mybridge mynginx

Cette commande attribuera l'adresse IP 172.18.0.2 au conteneur mynginx. Vous pouvez désormais accéder en utilisant cette adresse IP comme n’importe quelle autre adresse IP publique.

Résumé

L'adresse IP d'un conteneur Docker est attribuée dynamiquement par le démon Docker. Par défaut, il utilise l'adresse IP de l'hôte. Cependant, dans certains cas, vous devrez peut-être spécifier une adresse IP statique pour votre conteneur Docker. Nous avons discuté de deux méthodes différentes, vous pouvez connecter le conteneur Docker au réseau physique de l'hôte à l'aide d'un réseau VLAN ou macvlan et le définir sur une adresse IP statique, ou utiliser le mode réseau pont pour configurer son propre réseau pour le conteneur et le configurer. Pour utiliser une adresse IP statique. Vous pouvez désormais choisir la méthode qui correspond à vos besoins pour attribuer des adresses IP spécifiques aux conteneurs 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!

Déclaration:
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