Le futur des containers docker avec Windows

La plupart des utilisateurs de Docker sous Windows ont pris l’habitude d’utiliser boot2docker (remplacé par Docker Toolbox dont voici une présentation), un programme qui lance une petite machine virtuelle linux prête à exécuter n’importe quel container Docker. C’est très pratique, et ça permet à n’importe quel développeur Windows de tester Docker, sans forcement passer à Linux. Docker est utilisable via la console lancée dans la VM qui est affiché à l’écran.

Cet outil était également la seule solution sous Mac avant l’arrivée de Kitematic, qui vient d’ailleurs d’être racheté par Docker il y a quelques jours.

La partie cliente

Depuis quelques mois maintenant, le client docker a été porté sous Windows, cela permet de communiquer directement avec Docker depuis l’interface de commande de Windows.

docker-cli-windows

Il ne s’agit là que du portage de la partie cliente, le deamon docker doit lui toujours être exécuté sur une machine Linux.

Le partie serveur sous Windows

Microsoft s’intéresse beaucoup à Docker: en juin 2014, il intégrait le support de Docker à son cloud Azure (basé sur des VM Linux). Les images du Docker Hub ont même été directement intégré à Azure Gallery.

En octobre dernier, c’est officiel, Microsoft annonce un partenariat avec la société Docker, la société veut développer et étendre la technologie des containers Docker à Windows.

Microsoft développe ou prévoit de développer un moteur Docker sous Windows Server destiné à lancer des containers Windows. L’outil s’appelle « Docker Engine for Windows Server ».

DockerWithWindowsSrvAndLinux_thumb

Comme l’explique le blog de Microsoft et le dessin ci-dessus, pour le moment, il ne s’agit pas de lancer des containers Linux sur une machine Windows ou vice-versa. Microsoft prévoit de développer un Deamon Docker pour Windows destiné à lancer des containers Windows mais en assurant au maximum une compatibilité avec les technologies Docker. La plupart des outils de l’éco-système Docker devrait donc pouvoir aussi bien fonctionner avec les containers Linux et/ou Windows. Ce sera surement le cas pour Docker Compose, Docker Machine et Docker Swarm.

On ne sait pas encore grand sur les choix techniques et stratégiques qui vont être pris par Microsoft. Depuis l’annonce initiale, peu d’information ont été fournit, plusieurs hypothèses peuvent donc être émises sur les intentions de Microsoft:

  • Microsoft va réaliser une simple adaptation/portabilité de Docker pour Windows, sans réelle innovation et ne prévoit pas d’autre avancées sur ce secteur
  • Microsoft va développer sa propre technologie de container, avec des innovations, une manière de faire à la Microsoft, et vont simplement assurer une compatibilité avec l’api Rest de Docker
  • Microsoft réalise une opération de communication en profiter de l’énorme engouement de Docker pour implanter sa propre technologie dans le monde du cloud quitte à délaisser Docker par la suite (ce qui sera très difficile, lire ci-dessous)

Quoiqu’il en soit, il s’agit d’une très bonne nouvelle pour l’éco-système Docker et le développement et l’adoption de cette technologie. Qui n’a jamais rêvé d’un container Exchange couplé à un container SQL Server.

Docker est un standard

Google et bien d’autres acteurs ont déjà adopté massivement Docker pour leurs offres de cloud, ce qui a déjà considérablement renforcer Docker. Microsoft ne semble pas vouloir ré-inventé la roue, et semble se reposer intégralement sur Docker pour lancer sa technologie de containérisation sur Windows, ce qui fait de Docker un standard de facto. Il sera très difficile une fois la technologie Docker implémentée chez tous les acteurs technologiques de pouvoir faire marche arrière sans risquer de perdre une part de marché conséquente. Cela va imposer à toutes ces sociétés de devoir promouvoir et maintenir Docker tout en assurant la compatibilité avec les futures version.

Pour info et afin de bien se rendre compte à quel point Docker est répandu, voici une liste non exhaustive des sociétés ou produits qui utilisent ou s’interconnectent avec Docker: Google, Microsoft, Amazon, IBM, Red Hat, VMware, OpenStack, Ovh RunAbove, Synology, Ubuntu.

Avec Docker, nous somme passées d’un monde fermé et cloisonné à une solution open-source compatibles avec toutes les acteurs cloud du marché.