Lesedauer 2 Minuten

Manchmal erfordert es die Situation, eine Blazor Web App in einem Docker Container zu betreiben. unabhängig von Windows, IIS oder einem Webserver mit Plesk. Dieser Beitrag zeigt wie man mit wenig Aufwand einen ASP.NET Blazor Container erstellt.

HowTo: Dockerized Blazor

Das folgende Beispiel verwendet ASP.NET 9. Die komplette Blazor App bleibt in einem Ordner ausßerhalb des Docker-Containers. So muss nicht bei jedem Update das Image neu erzeugt werden und die Daten unserer App sind persistent:

Blazor & ASP.NET im Docker-Container

Blazor Web App publizieren

Zuerst erstellen wir wie gewohnt unsere Blazor Web App und publizieren sie:

Blazor Docker Image bauen

Als Nächstes legen wir einen Ordner für unser Docker-Image an.
Darin befindet sich ein leerer Ordner “app” und eine Datei “Dockerfile” mit dem folgenden Inhalt:

Wenn wir nicht mit ASP.NET 9 arbeiten, muss die erste Zeile auf die entsprechende Framework-Version angepasst werden. Der Einstiegspunkt für den Start unserer Blazor-App ist ‘blazor-web-app.dll’, entsprechend unserem Projektnamen.

Unsere publizierte Blazor App kopieren wir von /bin/Release/net9.0 aus unserem Projekt-Ordner in den Ordner app/ neben unserem Dockerfile.

Wir wechseln in unseren Docker-Ordner und bauen das Image. Das Image hat den Namen “blazor-web-app”:

Blazor Docker Container starten

Nun starten wir unseren Docker-Container. Hierbei mappen wir den lokalen Ordner ./app als Volume auf den Ordner /app im Container und geben Port 8080 nach außen frei. Der so erzeugte Container hat den Namen “blazor_demo”:

Abschliessend rufen wir unsere Blazor-App im Browser auf:

Bonus: Docker Cheat Sheets

Neu bei Docker oder Lust auf mehr?

 

Mehr Beiträge zu Blazor lesen

 

Hat Dir der Beitrag gefallen?

Wenn Du Fragen oder Anmerkungen zu diesem Beitrag hast, dann starte einen Kommentar. DANKE für Dein Feedback!