In den letzten Monaten sind viele neue und interessante Technologien aufgekommen. In diesem Artikel werden zwei davon genauer gezeigt: Docker und ASP.NET Core
Hinweis: Für mich selbst sind diese Technologien auch noch sehr neu und kann deswegen nur einen „ersten Eindruck“ vermitteln. In Zukunft wird es aber mehr Artikel zu Themen wie diese geben.
Was ist Docker?
Docker ist eine Software Container Plattform, die es einem erlaubt eine Anwendung isoliert (Virtual Machine artig) auszuführen. Anders als bei klassischen Virtuellen Maschinen steht hier nur die einzelne Anwendung (mit ihren Libraries) im Fokus und nicht vollständige Betriebssysteme.
Quelle und Details siehe: https://www.docker.com/what-docker
Was ist ASP.Net Core?
.Net Core ist Microsofts neu entwickeltes .Net Framework, dass Open Source ist und zu dem neben Windows auch auf MacOS und Linux laufen kann. Das ASP.NET Core ist die darauf aufbauende Webplattform.
Wie fange ich an?
- Docker downloaden und installieren: https://www.docker.com/docker-windows
- Der Computer wird mehrmals neugestartet!
- Visual Studio Community 2017 downloaden und installieren: https://www.visualstudio.com/de/downloads/
- Visual Studio updaten
Neues Projekt anlegen in Visual Studio
In Visual Studio auf Datei + Neu + Projekt klicken.
Im Dialog ASP.NET Core Webanwendung auswählen:
Im darauffolgenden Dialog kann man die Art der Webanwendung auswählen und die Doker Unterstützung aktivieren:
Bevor man starten kann, muss man Docker auf Linux umstellen: Dafür in der Taskleiste mit der Rechten Maustaste auf das Docker Symbol und „Switch to Linux containers“ anklicken.
Das war alles! Jetzt kann man mit dem Play Button seine Webanwendung isoliert in einem Docker Container ausführen, dabei wird das passende Image runtergeladen, die Webanwendung auf so einen Container installiert und ausgeführt.
Damit der Container Zugriff auf das lokale Laufwerk hat, muss man Username und Passwort eines Users angeben, der Zugriff hat. Wird beim ersten Starten automatisch abgefragt.
Fazit
(Web-)Anwendungen in isolierten Containern zu deployen ist dank Docker sehr einfach möglich. Probleme wie: „Die Anwendung läuft bei mir und bei dir nicht“, „Wenn Anwendung A drauf ist, kann das zu Problemen bei Anwendung B führen“ und ähnliche können damit der Vergangenheit angehören.