Partager via


Mise en réseau de conteneur Windows

S’applique à : Windows Server 2022, Windows Server 2019, Windows Server 2016

Important

Reportez-vous à Docker Container Networking pour obtenir des commandes, des options et une syntaxe de mise en réseau Docker générales. À l’exception de tous les cas décrits dans les fonctionnalités non prises en charge et les options réseau, toutes les commandes de mise en réseau Docker sont prises en charge sur Windows avec la même syntaxe que sur Linux. Toutefois, les piles réseau Windows et Linux sont différentes et, par conséquent, vous constaterez que certaines commandes réseau Linux (par exemple) ifconfigne sont pas prises en charge sur Windows.

Architecture de mise en réseau de base

Cette rubrique fournit une vue d’ensemble de la façon dont Docker crée et gère des réseaux hôtes sur Windows. Les conteneurs Windows fonctionnent de la même façon que les machines virtuelles en ce qui concerne la mise en réseau. Chaque conteneur possède une carte réseau virtuelle (vNIC) connectée à un commutateur virtuel Hyper-V (vSwitch). Windows prend en charge cinq pilotes ou modes de mise en réseau différents qui peuvent être créés via Docker : nat, superposition, transparent, l2bridge et l2tunnel. Choisissez le pilote réseau le mieux adapté à l’infrastructure de votre réseau physique et à la configuration requise du réseau (hôte unique ou hôtes multiples).

Illustre la pile réseau Windows

La première fois que le moteur Docker s’exécute, il crée un réseau NAT par défaut, « nat », qui utilise un commutateur virtuel interne et un composant Windows nommé WinNAT. S’il existe des commutateurs virtuels externes préexistants sur l’hôte qui ont été créés via PowerShell ou le Gestionnaire Hyper-V, ils sont également disponibles pour Docker à l’aide du pilote réseau transparent et sont visibles lorsque vous exécutez la docker network ls commande.

Illustre la commande PowerShell du réseau Docker ls

  • Un commutateur virtuel interne est un commutateur virtuel qui n’est pas directement connecté à une carte réseau sur l’hôte de conteneur.
  • Un commutateur virtuel externe est un commutateur virtuel directement connecté à une carte réseau sur l’hôte de conteneur.

Illustre la commande PowerShell Get-VMSwitch

Le réseau « nat » est le réseau par défaut pour les conteneurs s’exécutant sur Windows. Tous les conteneurs exécutés sur Windows sans aucun indicateur ou argument pour implémenter des configurations réseau spécifiques seront attachés au réseau « nat » par défaut et attribués automatiquement une adresse IP à partir de la plage d’adresses IP de préfixe interne du réseau « nat ». Le préfixe IP interne par défaut utilisé pour « nat » est 172.16.0.0/16.

Gestion du réseau de conteneurs avec le service réseau hôte

Le service de mise en réseau hôte (HNS) et le service de calcul hôte (HCS) fonctionnent ensemble pour créer des conteneurs et attacher des points de terminaison à un réseau. Vous pouvez interagir avec HNS via le module d’assistance HNS PowerShell.

Création du réseau

  • HNS crée un commutateur virtuel Hyper-V pour chaque réseau
  • HNS crée des pools NAT et IP selon les besoins

Création d’un point de terminaison

  • HNS crée un espace de noms réseau par point de terminaison de conteneur
  • HNS/HCS place v(m)NIC à l’intérieur de l’espace de noms réseau
  • HNS crée des ports (vSwitch)
  • HNS affecte l’adresse IP, les informations DNS, les itinéraires, etc. (soumis au mode réseau) au point de terminaison

Création d'une stratégie

  • Pour le réseau nat (Traduction d’adresses réseau) par défaut, HNS crée les règles et mappages de transfert de port WinNAT avec les règles ALLOW de pare-feu Windows correspondantes.
  • Pour tous les autres réseaux, HNS utilise la plateforme de filtrage virtuel (VFP) pour la création de stratégies qui inclut l’équilibrage de charge, les listes de contrôle d’accès et l’encapsulation. Pour plus d’informations sur les API HNS et le schéma, consultez l’API de service HCN (Host Compute Network) pour les machines virtuelles et les conteneurs.

Illustre la pile de gestion HNS

Fonctionnalités et options réseau non prises en charge

Les options de mise en réseau suivantes ne sont actuellement pas prises en charge sur Windows :

  • À partir de Windows Server 2022, les conteneurs Windows prennent en charge la mise en réseau IPv6 suivante :
    • Les conteneurs attachés aux réseaux l2bridge prennent en charge la pile IPv6.
    • Les conteneurs attachés à des réseaux transparents prennent en charge la communication à l’aide d’IPv6 avec des adresses IP auto-affectées, mais ne prennent pas en charge l’attribution d’adresses IP fournies par HNS et d’autres services réseau tels que l’équilibrage de charge et les listes de contrôle d’accès.
  • Les conteneurs Windows attachés aux réseaux NAT et superposition ne prennent pas en charge la communication sur la pile IPv6.
  • Communication de conteneur chiffrée via IPsec.
  • Mise en réseau en mode hôte.
  • Mise en réseau sur une infrastructure Azure virtualisée via le pilote réseau transparent.
Commande Option non prise en charge
docker run --ip6, --dns-option
docker network create --aux-address, --internal, , --ipam-driver--ip-range, --ipam-opt, , --ipv6,--opt encrypted