2017-09-11 14 views
1

Ich bin mir dieser Frage bewusst (Can Windows Containers be hosted on linux?), aber sie beantwortet meine Frage nicht wirklich.Kann eine Linux App unter Windows mit Docker laufen?

Ich bin neu in Docker, aber meine Frage ist so - wenn ich eine Windows-Anwendung nehme, in einen Docker-Container legen, kann es jetzt auf Linux laufen und umgekehrt?

Confluent behauptet, dass es nur unter Linux ausgeführt werden kann, aber mein Kollege installierte es unter Windows mit Docker. Also, wenn Sie es mit Docker installieren können, würde die gesamte Anwendung sicherlich als plattformübergreifend betrachtet werden?

Ich denke, ich vermisse hier einen wichtigen Punkt.

Antwort

4

Docker ist keine VM, es ist eine Möglichkeit, Anwendungen auf einem freigegebenen Kernel auszuführen, die diese Anwendungen voneinander isolieren. Windows-Binärdateien laufen nicht auf einem Linux-Kernel und umgekehrt (die Linux-Laufzeit für Windows wird vorerst ignoriert). Wenn Sie also einen Container mit Ihrer Windows-Anwendung erstellen, wird dieser nur ausgeführt, wenn Sie dies auf der Windows-Laufzeitumgebung von Dockers und dem Windows-Basisimage tun. Es wird nicht auf einem Linux-Host laufen.

Was Docker bietet ist eine eingebettete VM mit Linux (ursprünglich war dies VirtualBox, aber die aktuellen Versionen sind HyperV). Wenn Sie Docker für Windows ausführen, wurde diese VM standardmäßig verwendet und Sie würden nur Linux-Container ausführen, sodass Ihre Windows-Anwendung nicht einmal innerhalb des Containers ausgeführt würde. Um die Windows-Binärdateien auszuführen, müssen Sie Docker für Windows so einstellen, dass die Windows-Laufzeitumgebung verwendet wird. Derzeit können Sie mit dieser Option nicht gleichzeitig Laufzeiten für Linux und Windows auf demselben Host ausführen.

Es gibt auch keine Windows-VM, die mit der Linux-Installation von Docker gepackt ist. Sie müssten Ihre eigene Kopie von Windows (und Sie erhalten die Lizenzierung, weshalb Docker diese nicht liefert) in einer VM auf einem Linux-Host installieren und Ihre Container innerhalb dieser VM ausführen, wenn Sie Windows-Unterstützung benötigen.

+0

Also bin ich richtig in der folgenden: Docker im Grunde läuft Linux VM und alles, was Sie auf Docker ausführen müssen Linux-Container sein, es sei denn, Sie Docker um Windows VM zu starten und dann können Sie Windows-Container darin ausführen? Gibt es einen Windows VM Docker, der unter Linux läuft? – eddyP23

+0

@ eddyP23 Sie folgen korrekt, docker stellt keine Windows-VM für Linux-Umgebungen zur Verfügung. – BMitch

Verwandte Themen