Maison >Opération et maintenance >Docker >Comment spécifier l'adresse IP dans Docker
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 :
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.
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 :
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.
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.
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!