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

Entwickeln auf Docker mit den neuen und verbesserten Visual Studio Container Tools (und WSL2)

Ich habe in letzter Zeit viel Zeit mit Docker verbracht. Docker Desktop unter Windows ist großartig und wird jeden Tag besser. Jetzt, da WSL2 (Windows Subsystem for Linux) in den kommenden Wochen stabil eingeführt wird und Docker Desktop WSL unterstützt, um Linux-Container direkt zu hosten, verwende ich Visual Studio, um meine Sites unter Docker zu entwickeln.

Visual Studio Container Tools werden ebenfalls aktiv verbessert und die neueste Version ist ziemlich süß. Wahrscheinlich HABEN Sie dies bereits, da das Container-Toolfenster jetzt in Visual Studio 2019 ab Version 16.4 Preview 2 und höher enthalten ist!

HINWEIS: Sehen Sie sich auch die Visual Studio Code Docker-Erweiterung an!

Das Erste, was beeindruckend ist, ist, dass Visual Studio jetzt versucht, Ihnen mit hilfreichen Anleitungen zum Erfolg zu verhelfen, da die Einrichtung manchmal entmutigend sein kann.

Wenn Sie ein Docker-fähiges Projekt erstellen oder öffnen:

  • VS-Container-Tools helfen Ihnen bei der Installation von Docker Desktop
  • VS-Container-Tools stellen sicher, dass Docker Desktop ausgeführt wird

Sie haben die Container-Tools bereits, wenn Sie die Web- oder Azure-Workload in Visual Studio 2019 installiert haben und sie in der kostenlosen Visual Studio 2019-Community enthalten ist!

Sie können ein Projekt mit einem Kontrollkästchen Docker-aktivieren, wenn Sie es erstellen, ODER Sie können nachträglich mit der rechten Maustaste auf Docker-Unterstützung hinzufügen klicken.

Bei der Arbeit mit .NET Core erstellen die Container-Tools eine großartige mehrstufige Docker-Datei, die Best Practices kapselt. Es verwendet Docker-Layering, um innerhalb von Docker mit dem .NET SDK zu bauen, aber dann in einem kleineren Laufzeitcontainer zu veröffentlichen, um das kleinstmögliche resultierende Bild für maximale Dichte zu erhalten.

Multi-Container-Debugging

Das Debuggen realer Systeme mit mehreren Containern war in der Vergangenheit eine Herausforderung. VS2019 verfügt jetzt über eine integrierte Container Orchestrator-Unterstützung. Dieser Screenshot zeigt Docker Compose, das selbst als Debug-Ziel in der Standardsymbolleiste von VS2019 erscheint!

Sobald Sie eine Reihe von Containern ausgeführt haben, findet das Container-Tool eine gute Balance zwischen der Anzeige der Textprotokolle und der Vermeidung von Hindernissen, aber auch der Bereitstellung einer GUI zum Starten und Stoppen und Verwalten mehrerer laufender Container.

Sie können unten die Bilder sehen, die ich habe, die Lösungscontainer. Ich kann sogar mit der rechten Maustaste klicken und innerhalb eines laufenden Linux-Containers an den Prozess anhängen! Auch hier verwenden alle WSL2 und sind verdammt schnell.

Bald in Visual Studio verfügbar! Natives WSL2-Debugging

Ich mag meine Container, ABER wenn Sie nur direkt unter Linux entwickeln möchten (keine Container), dann ist dies eines der „Demnächsten“, auf das Sie sich am meisten freuen werden – WSL 2 Debugging! Demnächst als Vorschau auf dem Marketplace verfügbar, mit dem Plan, in zukünftigen Visual Studio-Tool-Releases ausgeliefert zu werden, können Sie einfach WSL2 (Linux) als Kompilierungs- und Debugziel auswählen! Das bedeutet, natives Linux unter Windows direkt von VS aus zu entwickeln/testen/auszuführen.

Denken Sie daran, dass WSL2 einen echten Linux-Kernel verwendet, daher gibt es hier keine Emulatoren. Das WSL2-Linux startet in etwa einer Sekunde und Sie debuggen SCHNELL. WSL2 wird jetzt eingeführt!

Das bedeutet Breakpoints und vollständiges Debuggen unter Linux von Visual Studio 2019 unter Windows. Scott Hunter und ich haben darüber gesprochen und in unserem diesjährigen BUILD-Vortrag „Journey to One .NET“ eine Demo gezeigt, die Sie hier kostenlos ansehen können!

Wenn Sie all diese netten Container-Tools möchten, installieren Sie entweder VS2019 oder führen Sie einfach den Visual Studio-Installer aus und AKTUALISIEREN Sie Ihre vorhandene Installation.

Sponsor: Der Sponsor dieser Woche bin ich! Dieser Blog und mein Podcast sind seit über 18 Jahren eine Herzensangelegenheit. Ihr Sponsoring bezahlt meine Hosting-Rechnungen für beide UND ermöglicht es mir, Gadgets zu kaufen, um sie zu überprüfen, UND gelegentlich einen Taco. Machen Sie mit!


Docker
  1. Unterschied zwischen Podman und Docker.

  2. Überwachung von Docker-Containern:Vorteile, Best Practices und unverzichtbare Tools

  3. Container-Instrumentierung mit dem Elastic Stack

  4. So stellen Sie einen Nginx-Container mit Docker auf Linode bereit

  5. Der Unterschied zwischen CMD und ENTRYPOINT in Docker-Images

So stellen Sie einen Docker-MongoDB-Container bereit und verwalten ihn

Arbeiten mit Docker-Containern über die Befehlszeile

Containertools in Visual Studio 2019 ausprobieren

Erste Schritte mit .NET Core und Docker und der Microsoft Container Registry

Veröffentlichen einer ASP.NET 5-App in Docker unter Linux mit Visual Studio

Verwenden von Tailscale unter Windows für eine einfachere Vernetzung mit WSL2 und Visual Studio Code