GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

Docker- und Linux-Container unter Windows, mit oder ohne virtuelle Hyper-V-Maschinen

Container sind schön, falls Sie es noch nicht gehört haben. Sie sind eine schöne und saubere Möglichkeit, unabhängig vom Hostsystem eine zuverlässige und garantierte Bereitstellung zu erhalten.

Wenn ich meine ASP.NET Core-Anwendung ausführen möchte, kann ich einfach „docker run -p 5000:80 shanselman/demos“ in die Befehlszeile eingeben, und sie wird gestartet! Ich habe keine Bedenken, dass es nicht läuft. Es wird laufen, und zwar gut.

Einige Container-Neinsager sagen, sicher, wir könnten dasselbe mit virtuellen Maschinen machen, aber selbst heute ist eine VHD (virtuelle Festplatte) eher eine widerspenstige Sache und beinhaltet eine Menge Overhead, den ein Container nicht hat. Container sind auf dem Vormarsch und Sie sollten sie für Ihre Bereitstellungen genau in Betracht ziehen.

In der Vergangenheit wurden Linux-Container unter Windows jedoch in einer virtuellen Hyper-V-Maschine ausgeführt. Das kann gut oder schlecht sein, je nachdem, was Ihre Ziele sind. Das Ausführen von Containern innerhalb einer VM bietet Ihnen eine erhebliche Isolation mit etwas Overhead. Das ist schön für Server, aber weniger für meinen Laptop. Docker für Windows verbirgt die VM größtenteils, aber sie ist da. Ihr Container wird in einer Linux-VM ausgeführt, die in Hyper-V unter Windows ausgeführt wird.

Mit der neuesten Version von Windows 10 (oder 10 Server) und der Betaversion von Docker für Windows gibt es native Unterstützung für Linux-Container unter Windows. Das bedeutet, dass keine virtuelle Maschine oder Hyper-V beteiligt ist (sofern Sie dies nicht möchten), sodass Linux-Container unter Windows selbst ausgeführt werden und die integrierte Container-Unterstützung von Windows 10 verwenden.

Im Moment müssen Sie zwischen Hyper V und nativen Containern „Modi“ wechseln, und Sie können Linux- und Windows-Container (noch) nicht nebeneinander ausführen. Auf der Straße heißt es, dass dies nur ein Zeitpunkt ist und dass Docker irgendwann die parallele Ausführung von Linux- und Windows-Containern unterstützen wird. Das ist ziemlich süß, weil es alle möglichen coolen Hybridszenarien eröffnet. Ich könnte einen Windows Server-Container mit einer .NET Framework ASP.NET-App ausführen, die mit einem Linux-Container kommuniziert, auf dem Redis oder Postgres ausgeführt wird. Ich könnte sie dann beispielsweise alle in Kubernetes in Azure hochladen.

Sobald ich Linux-Container unter Windows in Docker aktiviert habe, funktioniert alles einfach und hat ein bewegliches Teil weniger.

Ich kann busybox oder echtes Ubuntu einfach und schnell ausführen (obwohl Windows 10 Ubuntu bereits nativ mit WSL unterstützt):

Noch nützlicher ist es, die Azure-Befehlszeile ohne Installation auszuführen! Einfach „docker run -it microsoft/azure-cli“ ausführen und es wird in einem Linux-Container ausgeführt.

Ich kann sogar Nyancat ausführen! (Danke Thomas!)

docker run -it supertest2014/nyan

Spekulationen - ich freue mich auf den Tag, an dem ich "minikube start --vm-driver="windows" (oder so etwas) ausführen und ein Kubernetes-Entwicklungssystem einfach lokal einrichten kann, indem ich die native Linux-Container-Unterstützung von Windows verwende, anstatt virtuelle Hyper-V-Maschinen zu verwenden , wenn ich möchte.

Sponsor: Warum auf die Versionskontrolle Ihrer Datenbank verzichten? Es ist einfacher als Sie denken, denn die SQL-Quellcodeverwaltung verbindet Ihre Datenbank mit denselben Versionskontrolltools, die Sie für Anwendungen verwenden. Finde heraus wie.

Docker
  1. Portainer:Eine benutzerfreundliche GUI zum Ausführen und Abrufen von Docker-Containern

  2. Einführung in Docker-Container

  3. So installieren Sie Docker und führen Docker-Container in Ubuntu aus

  4. Einfaches Ausführen von Windows-Software unter Linux mit Bottles

  5. Quickemu – Führen Sie virtuelle Windows-, macOS- und Linux-Maschinen aus

So führen Sie Windows-Software unter Linux mit Flaschen aus

So führen Sie Docker-Container aus

Gewusst wie:Erste Schritte mit Windows-Containern und Docker

Docker Desktop für WSL 2 integriert Windows 10 und Linux noch enger

Erkunden von ASP.NET Core mit Docker in Linux- und Windows-Containern

So führen Sie Linux-GUI-Apps unter Windows 10 mit WSL und WSLg aus