GNU/Linux >> Linux Esercitazione >  >> Linux

In che modo Docker esegue un kernel Linux su un host macOS?

Docker utilizza l'Hypervisor Framework di Apple:https://developer.apple.com/reference/hypervisor

Altre letture sui blog di Docker per quando è uscito l'anno scorso:https://blog.docker.com/2016/05/docker-unikernels-open-source/


Sebbene le altre risposte siano corrette sull'hypervisor, non rispondono alla tua domanda specifica.

La risposta è "Docker [Desktop] per Mac" esegue una VM host Linux con una sostituzione per boot2docker - LinuxKit sviluppato e mantenuto da Docker allo scopo di creare distribuzioni leggere.

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

L'uname che hai visto non conteneva la parola chiave, ma ora sembra essere inclusa, ad es. da Docker per Mac 18.03.1 vedo:

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

Puoi vedere i collegamenti alle versioni incluse nelle pagine di rilascio.https://docs.docker.com/docker-for-mac/release-notes/

Quindi non è così diverso dal vecchio giorni Docker Machine + VirtualBox + boot2docker ,

per i nuovi giorni, è solo il provisioning is done internally da "Docker [Desktop] per Mac"and VirtualBox is replaced by Apple's Hyperkit e the "default VM" is a bit more tucked away .


La prima versione di Docker utilizzava VirtualBox per eseguire la macchina virtuale per Docker. Da giugno 2016, il modo di eseguire Docker su Mac e Windows è diventato molto più semplice, c'è il blog ufficiale di presentazione del rilascio per Docker su Mac/Windows e c'è anche qualche introduzione dal sito web di docker mac:

Docker per Mac è un ambiente di sviluppo completo profondamente integrato con il framework MacOS Hypervisor, il networking e il filesystem.

E con la struttura sembra:


Linux
  1. Linux:esegui applicazioni Mac Os X su Linux?

  2. Eseguibili firmati sotto Linux

  3. Come funziona internamente copy_from_user dal kernel di Linux?

  4. Come codificare un modulo del kernel Linux?

  5. Come si confronta la riga di comando di Mac con Linux?

Kernel Linux vs. Kernel Mac

Come eseguire Windows 95 su Linux

Come eseguire Docker come utente non root in Linux

Come modificare l'indirizzo MAC in Linux

Come installare Linux su Macintosh e dual boot con macOS

In che modo Linux carica l'immagine "initrd"?