Overblog
Suivre ce blog Administration + Créer mon blog

Faire tourner docker dans une VM AZURE Windows Server 2016

19 Février 2017 , Rédigé par Hugues MEUNIER

Il arrive d'obtenir une erreur à la fin de l'installation de docker dans Azure. Pour régler ce problème, il faut autoriser le port tcp/2375 (port à configurer dans le fichier daemon.json) dans le firewall Windows :

netsh advfirewall firewall add rule name="Allow Docker" dir=in action=allow program="C:\windows\system32\docker.exe"

Ensuite, il faut redémarrer le service docker pour prise en compte :

restart-service docker en ps

Lire la suite

DSC dans un nanoserver

18 Février 2017

https://blogs.msdn.microsoft.com/powershell/2017/02/17/managing-security-settings-on-nano-server-with-dsc/

Lire la suite

Installer docker sur un serveur Offline (sans accès Internet)

2 Février 2017 , Rédigé par Hugues MEUNIER

Comme j'ai pas mal galéré pour installer et faire fonctionner docker sous Windows Server, je partage un petit mode opératoire pour le faire proprement sur un serveur  qui n'a aucun accès à Internet (mais ça serait trop simple!) comme on en rencontre souvent dans les entreprises.

Etape 1 : Installer Windows Server Standard à partir de l'ISO dans une VM ou sur un serveur physique

Etape 2 : Installer obligatoirement tous les correctifs disponibles avant d'installer autre chose sur le serveur. Cette étape est très importante! Et redémarrer !

Etape 3 : Installer les rôles hyper-v et containers et redémarrer.

Etape 4 : Il faut avoir accès à Internet pour télécharger docker donc il faut l'installer soit sur un poste Windows 10 soit sur une VM Azure Windows Server 2016 donc préparer votre serveur online suivant le mode opératoire ci-dessous :

https://docs.docker.com/docker-for-Windows/

Etape 5 : télécharger docker depuis le poste connecté à Internet -  Ouvrir une console PS et saisir Invoke-WebRequest https://get.docker.com/builds/Windows/x86_64/docker-1.13.0.zip -UseBasicParsing -OutFile docker.zip

Etape 6 : copier docker.zip sur votre serveur offline et dézipper le tout dans un répertoire précis (c:\ program files\docker ou f:\docker)

Etape 7 : ajouter dans le path et le path system le répertoire docker (par exemple f:\docker)

Etape 8 : enregistrer le service dockerd : dockerd --register-service

Etape 9 : démarrer le service docker : start-service docker et tester si tout va bien via le commande docker info

Etape 10 : comme votre serveur est offline, impossible de récupérer les images sur docker automatiquement. Il faut les récupérer depuis votre poste connecté à Internet. Pour cela : lancer la commande "docker pull nanoserver/iis" puis "docker save nanoserver/iis -o c:\temp\nanoiis.tar". cela permettra de récupérer l'image sous forme d'un fichier archive.

Etape 11 : copier le fichier nanoiis.tar sur votre serveur Offline et saisir la commande "docker load -i c:\temp\nanoiis.tar". C'est long mais c'est normal, le fichier fait plus d1 Go...

Etape 12 : vérifier que l'image est OK ("docker images") et lancer un container nanoserver IIS : "docker run --name nanoiis1 -p 8080:80 -it nanoserver/iis cmd"

et un deuxième : "docker run --name nanoiis2 -p 8081:80 -it nanoserver/iis cmd"

et vérifier dans "docker ps" que les containers sont bien démarrés!

C'est fini.

 

Lire la suite

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.

Lire la suite