Docker natif sous Windows et Mac

Enfin du Docker « natif » Windows et Mac. L’équipe de docker va abandonner l’usage de Virtualbox  et le remplacer par une solution native au système d’exploitation. Car Vitualbox est trop générique et mal intégré au système Windows et Mac (problème réseau, partage disque basique, pas de notifications …).
Actuellement cette nouvelle monture est en bêta. Il ne faudra plus parle de « Docker Tools Box » mais de « Docker for  Windows » ou « Docker for Mac »

Concrètement Docker n’utilisera plus VirtualBox, mais le système natif de virtualisation du système : « Hyper-V » sous Windows et « xhyve Virtual Machine » sous Mac OS X .
Que va nous apporter cette nouvelle monture :

  • Intégration native au travers de « Hyper-V » sous Windows et « xhyve Virtual Machine » sous Mac OS X .
    Attention : sous Windows Hyper-V n’est accessible que sous « Windows PRO » et « Windows Server« . Actuellement la version bêta fonctionne que sous Windows 10 et Windows Server 2016.
  • Docker n’utilise plus d’Ubuntu comme système Linux, mais Alpine Linux un système Linux sécurisé et léger (l’image ISO fait 83Mo, installé il fait 130 MB)  basé sur BusyBox.
  • Docker devient une application avec une interface utilisateur et mise à jour native.
    Bien sûr il est livré avec les lignes de commande Docker 😉
  • Docker pourra se lancer automatiquement lorsque vous allumez votre ordinateur.
  • Montage de vos dossiers directement dans Docker (et non dans la VM )
  • Meilleure gestion de l’occupation disque de la VM, grâce au partage disque
  • Notification du système de fichier (« un fichier est modifié ») propagé dans Docker (les notifications ne fonctionnent pas sous VirtualBox)
  • Meilleure gestion du réseau.  Sur l’hôte local, Docker inclut un serveur DNS pour les conteneurs qui s’intègre avec le système de réseau Mac OS X et Windows (évite les plantages lorsque vous changiez de réseau). De plus cela améliore l’intégration de Docker sur les réseaux VPN.
  • L’association de port réseau (binding) fonctionne mieux, et accessible depuis l’interface graphique. Actuellement seuls les ports supérieurs à 1024 sont accessibles (je pense que c’est par sécurité)
  • Meilleure gestion de la mémoire physique.
  • « Docker pour Mac » a été architecturé à partir de zéro pour s’adapter au mécanisme de bac à sable (sandbox) de Mac OS X
  • Au niveau migration de l’ancienne version de Docker Toolbox vers « Docker for Windows/Mac » sous Mac OS :
    • il est possible de faire fonctionner « Docker Toolbox » en même temps que « Docker for Mac« 
    • Sous Windows il faut arrêter la machine virtuelle de la « Toolbox » pour faire fonctionner « Docker for Windows« .
  • Intégration de l’émulateur et virtualiseur QEMU . Vous allez pouvoir « Dockeriser » des applications Raspberry Pi et autre système basé sur les puces ARM (et autre) lors de vos phases de développent.

Sources :