GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie führt Docker einen Linux-Kernel unter einem macOS-Host aus?

Docker verwendet Apples Hypervisor Framework:https://developer.apple.com/reference/hypervisor

Weitere Informationen zu den Docker-Blogs für die Veröffentlichung im letzten Jahr:https://blog.docker.com/2016/05/docker-unikernels-open-source/


Während die anderen Antworten in Bezug auf den Hypervisor richtig sind, beantworten sie Ihre spezifische Frage nicht.

Die Antwort lautet:„Docker [Desktop] für Mac“ führt eine Linux-Host-VM mit einem Ersatz für boot2docker aus – LinuxKit Entwickelt und gepflegt von Docker zum Erstellen von Lightweight-Distributionen.

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

Der uname, den Sie gesehen haben, enthielt kein Schlüsselwort, aber es scheint jetzt enthalten zu sein, z. von Docker für Mac 18.03.1 sehe ich:

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

Sie können Links zu den enthaltenen Versionen auf den Release-Seiten sehen. https://docs.docker.com/docker-for-mac/release-notes/

Es unterscheidet sich also nicht so sehr vom alten Tage Docker Machine + VirtualBox + boot2docker ,

für die neuen Tage sind es nur die provisioning is done internally von „Docker [Desktop] für Mac“and VirtualBox is replaced by Apple's Hyperkit , und the "default VM" is a bit more tucked away .


Die frühe Version von Docker verwendete VirtualBox, um eine virtuelle Maschine für Docker auszuführen. Seit Juni 2016 ist die Ausführung von Docker auf Mac und Windows viel einfacher geworden, es gibt den offiziellen Release-Einführungsblog für Docker auf Mac/Windows, und es gibt auch eine Einführung von der Docker-Mac-Website:

Docker für Mac ist eine vollständige Entwicklungsumgebung, die tief in das MacOS Hypervisor-Framework, -Netzwerk und -Dateisystem integriert ist.

Und mit der Struktur sieht aus wie:


Linux
  1. So aktualisieren Sie den Kernel auf dem Linux-Desktop

  2. Linux – Mac OS X-Anwendungen unter Linux ausführen?

  3. Linux – Wie unterscheidet sich der Linux-Kernel von Mikrokernel-Architekturen?

  4. Wie funktioniert copy_from_user aus dem Linux-Kernel intern?

  5. Wie beschränke ich eine Pipe unter Linux?

Linux-Kernel vs. Mac-Kernel

So führen Sie Windows 95 unter Linux aus

So führen Sie Docker als Nicht-Root-Benutzer in Linux aus

So ändern Sie die MAC-Adresse in Linux

So installieren Sie Linux auf einem Macintosh und booten doppelt mit macOS

Wie lädt Linux das 'initrd'-Image?