Installer docker sur un serveur Offline (sans accès Internet)
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.