Fermer

juin 1, 2021

Docker Bootcamp – Partie 4 du réseautage


Bienvenue à Docker Bootcamp. Dans le article précédent sur la mise en réseaunous avons modifié les configurations réseau de notre conteneur à l'aide d'indicateurs sur la commande create ou run. Ici, nous allons créer un réseau défini par l'utilisateur et définir une adresse IP spécifique sur notre conteneur.

  • Classless Inter-Domain Routing (CIDR) – Une notation représentant un identifiant de réseau et le nombre de bits disponibles pour l'identifiant d'hôte dans le sous-réseau.
    • 198.51.100.0/24 – Utilise 24 bits pour l'identifiant de réseau et 8 bits pour l'identifiant d'hôte. Les adresses 198.51.100.0 – 198.51.100.255 appartiennent à cette plage.
    • 198.51.0.0/16 – Utilise 16 bits pour l'identifiant de réseau et 16 bits pour l'identifiant d'hôte. Les adresses 198.51.0.1 – 198.51.255.255 appartiennent à cette plage.
  • Passerelle – Le point d'entrée et de sortie de tout le trafic qui circule sur un réseau.
  • Adresse IP – Représente l'emplacement d'une interface réseau sur un réseau. Pour IPv4, il s'agit d'un nombre de 32 bits. Pour IPv6, il s'agit d'un nombre de 128 bits.
  • Network Interface – Représente un emplacement et une adresse d'un périphérique réseau.
  • Port – Représente l'expéditeur ou le destinataire d'un message sur le réseau. L'expéditeur et le destinataire sont des applications qui écoutent sur le port spécifié en attente d'une demande et renvoient une réponse.
  • Subnet – Une division logique d'un réseau IP. (Pour plus d'informations, voir https://en.wikipedia.org/wiki/Subnetwork).
  • network – Sous-commande Docker pour gérer les réseaux
  • network connect – Connecter un conteneur à un réseau
  • network create – Créer un réseau[19659004]network disconnect – Déconnecter un conteneur d'un réseau
  • network inspect – Afficher des informations détaillées sur le réseau
  • network ls – Lister les réseaux
  • network rm – Supprimer un réseau
  • run – Créer et démarrer un nouveau conteneur

Vous pouvez trouver une liste complète des commandes et tous les indicateurs disponibles sur https : //docs.docker.com/engine/reference/commandline/docker/.

network connect

docker network connect [options] conteneur réseau

–ipODéfinir l'adresse IPv4 sur le conteneur
–ip6ODéfinir l'adresse IPv6 sur le conteneur

network create

docker network create [options] réseau

–passerelleOPasserelle IPv4 ou IPv6 pour le sous-réseau maître
–subnetODéfinissez le sous-réseau qui représente le segment de réseau au format CIDR

déconnexion du réseau[19659020] Docker network déconnecter [options] conteneur réseau

–force-fOForce le conteneur à se déconnecter d'un réseau

network disconnect

docker network inspect network

réseau ls

réseau docker ls

réseau rm

réseau docker rm réseau

run

docker run [options] image [command] [args…]
Sorties : ContainerID

–ipODéfinir l'adresse IPv4 sur le conteneur (fonctionne uniquement sur un réseau défini par l'utilisateur)
–ip6ODéfinir l'adresse IPv6 sur le conteneur (fonctionne uniquement sur un réseau défini par l'utilisateur)

Configurer

  • Afficher les réseaux disponibles
  • Inspecter les détails du réseau
    • pont d'inspection du réseau Docker
      • Remarquez la section IPAM/Config et notez la valeur du sous-réseau.
      • Docker utilise par défaut le sous-réseau 172.17.0.0/16 et la passerelle 172.17.0.1. un réseau défini par l'utilisateur
        • Créer un réseau défini par l'utilisateur
          • réseau docker créer mynet
        • Inspecter les détails du réseau
          • réseau docker inspecter mynet
            • Remarquez la section IPAM/Config. Le sous-réseau et la passerelle sont définis pour vous.
        • Créer un réseau défini par l'utilisateur avec un sous-réseau défini
          • Création d'un réseau Docker -sous-réseau 192.168.100.0/24 mon sous-réseau
        • Inspecter les détails du réseau
          • Le réseau Docker inspecte mon sous-réseau
            • Notez la section IPAM / Config. Le sous-réseau correspond à ce que vous avez défini.

        Connexion au réseau par défaut

        • Créez, démarrez et exécutez un conteneur interactif sur le réseau de pont par défaut avec une adresse IP attribuée
          • docker run -it –pont réseau –ip 172.17.100.100 –nom netbridgeip busybox /bin/sh
            • Utilisez une adresse IP comprise dans la plage du réseau de pont par défaut de Docker
            • Remarquez l'erreur "L'adresse IP spécifiée par l'utilisateur est prise en charge uniquement sur les réseaux définis par l'utilisateur"
        • Créer, démarrer et exécuter un conteneur interactif sur le réseau de pont par défaut
          • docker run -it –pont réseau –nom netbridge busybox /bin/sh
        • Inspecter les détails du réseau
          • réseau docker inspecter le pont
            • Remarquez que la section Conteneurs répertorie le nom et l'adresse IP des conteneurs connectés.
        • Inspecter les détails du conteneur
          • docker inspecte netbridge
            • Remarquez que la section NetworkSettings/Networks répertorie le nom de réseau et l'adresse IP du conteneur.

        Connect to User-Defined Network

        • Créer, démarrer et exécuter un conteneur interactif sur un réseau défini par l'utilisateur avec une adresse IP attribuée
          • docker run -it –network mynet –ip 172.20.100.100 –name netuser1 busybox /bin/sh
            • Utilisez une adresse IP comprise dans la plage de votre réseau
            • Remarquez l'erreur "L'adresse IP spécifiée par l'utilisateur est prise en charge lors de la connexion à des réseaux avec des sous-réseaux définis par l'utilisateur"
        • Créer, démarrer et exécuter un conteneur interactif sur le réseau de pont par défaut
          • docker run -it –network mynet –name netuser busybox /bin/sh
        • Inspecter les détails du réseau
          • réseau docker inspecter mynet
            • Remarquez que la section Conteneurs répertorie le nom et l'adresse IP des conteneurs connectés.
        • Inspecter les détails du conteneur
          • docker inspecter netuser
            • Remarquez que la section NetworkSettings/Networks répertorie le nom du réseau et l'adresse IP du conteneur.

        Connect to User-Defined Network With Subnet

        • Créer, démarrer et exécuter un conteneur interactif sur un réseau défini par l'utilisateur avec une adresse IP attribuée
          • docker run -it –network mysubnet –ip 192.168.100.100 –name netsubuser busybox /bin/sh
            • Utilisez une adresse IP comprise dans la plage de votre réseau avec un sous-réseau défini
        • Inspecter les détails du réseau
          • le réseau docker inspecte mon sous-réseau
            • Remarquez que la section Conteneurs répertorie le nom et l'adresse IP des conteneurs connectés.
        • Inspecter les détails du conteneur
          • docker inspecte netsubuser
            • Remarquez que la section NetworkSettings/Networks répertorie le nom du réseau et l'adresse IP du conteneur.

        Modifier les réseaux d'un conteneur en cours d'exécution

        • Connecter un conteneur à un réseau
          • Docker network connect mysubnet netuser
        • Inspecter les détails du réseau
          • le réseau docker inspecte mon sous-réseau
            • Remarquez que la section Conteneurs répertorie le nom et l'adresse IP des conteneurs connectés.
        • Inspecter les détails du conteneur
          • docker inspecte netuser
            • Remarquez que la section NetworkSettings/Networks répertorie les noms de réseau et l'adresse IP du conteneur sur le réseau nommé.
        • Vérifiez les paramètres réseau dans le conteneur netuser
          • affichage de l'adresse IP
            • Remarquez que deux adaptateurs Ethernet sont répertoriés (eth0 et eth1)
            • Remarquez que les adresses IP correspondent à celles répertoriées pour les détails du réseau et du conteneur.
        • Déconnecter un conteneur d'un réseau
          • Docker network déconnecter mon sous-réseau netuser
        • Inspecter les détails du conteneur
          • docker inspecte netuser
            • Notez que la section NetworkSettings / Networks répertorie les noms de réseau et l'adresse IP du conteneur sur le réseau nommé.

        Cleanup

        • Supprimer tous les conteneurs
          • docker rm -f netbridgeip netbridge netuser1 netuser netsubuser
        • Supprimer des réseaux
          • docker network rm mynet mysubnet

        Nous avons maintenant une meilleure compréhension de la façon dont Docker gère les connexions réseau. Nous pouvons créer nos propres sous-réseaux et attribuer des adresses IP spécifiques à nos conteneurs. Nous l'utiliserons dans le prochain article pour revoir la liaison de plusieurs conteneurs.




Source link