GNU/Linux >> Tutoriels Linux >  >> Linux

Comment Docker exécute-t-il un noyau Linux sous un hôte macOS ?

Docker utilise l'Hypervisor Framework d'Apple :https://developer.apple.com/reference/hypervisor

Plus de lecture sur les blogs Docker pour quand est sorti l'année dernière :https://blog.docker.com/2016/05/docker-unikernels-open-source/


Bien que les autres réponses soient correctes à propos de l'hyperviseur, elles ne répondent pas à votre question spécifique.

La réponse est "Docker [Desktop] pour Mac" exécute une machine virtuelle hôte Linux avec un remplacement pour boot2docker - LinuxKit développé et maintenu par Docker dans le but de faire des distributions légères.

https://blog.docker.com/2017/04/introducing-linuxkit-container-os-toolkit/

L'uname que vous avez vu ne contenait pas le mot-clé, mais il semble être inclus maintenant, par exemple. de Docker pour Mac 18.03.1, je vois :

Linux a8e079429a51 4.9.87-linuxkit-aufs #1 SMP Wed Mar 14 15:12:16 UTC 2018 x86_64 Linux

Vous pouvez voir les liens vers les versions incluses sur les pages de publication.https://docs.docker.com/docker-for-mac/release-notes/

Ce n'est donc pas si différent de l'ancien jours Docker Machine + VirtualBox + boot2docker ,

pour les nouveaux jours, c'est juste le provisioning is done internally par "Docker [Desktop] pour Mac"and VirtualBox is replaced by Apple's Hyperkit ,et the "default VM" is a bit more tucked away .


La première version de Docker utilisait VirtualBox pour exécuter une machine virtuelle pour Docker. Depuis juin 2016, la façon d'exécuter Docker sur Mac et Windows est devenue beaucoup plus simple, il y a le blog officiel d'introduction de Docker sur Mac/Windows, et il y a aussi une introduction sur le site Web de docker mac :

Docker pour Mac est un environnement de développement complet profondément intégré au framework, à la mise en réseau et au système de fichiers MacOS Hypervisor.

Et avec la structure ressemble à :


Linux
  1. Linux - Comment le noyau Linux se compare-t-il aux architectures de micro-noyau ?

  2. Exécutables signés sous Linux

  3. Comment fonctionne copy_from_user du noyau Linux en interne ?

  4. Comment coder un module du noyau Linux ?

  5. Comment la ligne de commande de Mac se compare-t-elle à Linux ?

Le noyau Linux contre. Mac noyau

Comment exécuter Windows 95 sous Linux

Comment exécuter Docker en tant qu'utilisateur non root sous Linux

Comment changer l'adresse MAC sous Linux

Comment installer Linux sur un Macintosh et un double démarrage avec macOS

Comment Linux charge-t-il l'image 'initrd' ?