Résoudre les problèmes de communication avec un container docker sous Windows Server
2 Février 2017 , Rédigé par Hugues MEUNIER
Docker sous Windows permet de faire du PAT Network pour diffuser ses containers en dehors de l'hôte qui les héberge. C'est très pratique car chaque conteneur peut avoir son propre port.
Tout cela se fait simplement via le commutateur -p <port public>:<port container>. Le container sera joignable via l'IP de l'hôte : <port public> de l'extérieur. Il n'y a rien à configurer sauf que la plupart du temps ça ne passe pas et plus particulièrement dans une VM Azure car il y a conflit entre l'étendue IP par défaut de docker et l'étendue des réseaux Azure.
Pour régler ça, il faut ouvrir une console PS en mode admin et saisir :
- Stop-Service docker
- Get-ContainerNetwork | Remove-ContainerNetwork
- Get-NetNat | Remove-NetNat
- Get-VMSwitch | Remove-VMSwitch
- aller dans le répertoire qui héberge dockerd.exe et saisir dockerd --fixed-cidr="192.168.1.1/24"
- essayer de lancer un container avec mappage de port :
docker run --name testnano -p 8080:80 -it nanoserver/iis cmd
- ensuite arrêter le process dockerd et démarrer le service docker : "start-service docker"
Le site iis par défaut sera diponible via l'adresse IP privée docker 192.168.1.x et via l'adresseHote:8080
Lorsque l'on spécifie le commutateur -p sous Windows Server 2016, une règle FWG est positionnée automatiquement.
Newsletter
Abonnez-vous pour être averti des nouveaux articles publiés.
Pages
Catégories
- 79 .NET
- 35 General
- 7 Hardware
- 5 Architecture applicative
- 4 J2EE
- 2 Cloud
- 2 Microsoft
- 2 Rails
- 2 WPF
- 1 Architecture technique
- 1 Astronomie
- 1 IA