Doğru yapılandırılmış bir Docker dosyası yazma çabasından kaçınmak istiyorsanız, .NET 7.0 Docker kapsayıcısında doğrudan .NET CLI (dotnet/dotnet.exe) üzerinden oluşturabilirsiniz.
Holger Schwichtenberg, 53 ünlü uzmanla tavsiye ve eğitim yoluyla ve yazılımın geliştirilmesinde çok sayıda orta ve büyük şirketi destekleyen uzmanlar ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası uzman konferansındaki görünümleri, 90'dan fazla uzman kitabı ve 1.500'den fazla uzman makalesi sayesinde Holger Schwichtenberg, Almanya'daki .NET ve Web teknikleri için en iyi uzmanlardan biridir.
Microsoft, mevcut .NET CLI komutuyla ilgili olan yeni Microsoft.net.Build.Container Nuget paketini yayınladı. dotnet publish kullanabilir.
CLI .NET komutlarına sahip aşağıdaki PowerShell komut dosyası, yeni bir .NET projesinin oluşturulmasından (bu durumda Blazor sunucusunun bir uygulaması) ve Linux Plus içeriğinde Weber Contain aracılığıyla Docker Container aracılığıyla kodun değiştirilmesinden (bu durumda Blazor Sunucunun Uygulaması) birkaç komutunun sırasını gösterir.
# Projekt anlegen (hier: ASP.NET Core Blazor Server)
dotnet new blazorserver -n BSContainer
# In den Ordner wechseln
cd .BSContainer
# Programmcode in Startseite austauschen mit Informationen über
# Umgebung, .NET- und OS-Version sowie Prozess
$indexpage = @'
@page "/"
<PageTitle>Index</PageTitle>
<h1>Hallo iX-Leser*in,</h1>
<p>diese Blazor Server App läuft
@if (System.Environment.GetEnvironmentVariable
("DOTNET_RUNNING_IN_CONTAINER")=="true")
{ <text><b>im Container </b></text> }
else
{ <text>nicht im Container </text> }
mit
@System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription
auf @System.Runtime.InteropServices.RuntimeInformation.OSDescription!
</p>
<p>Prozess:
@System.Diagnostics.Process.GetCurrentProcess().ProcessName<br>
Prozessidentität:
@[email protected]</p>
'@
$indexpage | Set-Content "pages/index.razor"
# Container-Build-Paket hinzufügen
dotnet add package Microsoft.NET.Build.Containers
# Veröffentlichen als Container
dotnet publish --os linux --arch x64 -c Release
-p
ublishProfile=DefaultContainer
# Start des Containers (in getrennten Prozess,
# weil sonst dieser hier blockiert ist)
Start-Process powershell {
docker run -it --rm -p 5000:80 bscontainer:1.0.0 }
# optionaler Aufruf des Browsers zur Kontrolle
Start-Process "http://localhost:5000"
Yeni NuGet paketi, ilgili temel görüntüyü seçen “Varsayılan Konteyner” yayın profillerini sağlar (burada “mcr.microsoft.com/dotnet/aspnet:7.0”). Docker takılmalı ve hedef konteyner otomatik olarak Linux X64'te çalışır.
PowerShell penceresi, ASP.NET Core Blazor sunucusu ve tarayıcı penceresi erişimi ile kapta çalışan web sunucusunun masraflarını gösterir.
(RME)

Holger Schwichtenberg, 53 ünlü uzmanla tavsiye ve eğitim yoluyla ve yazılımın geliştirilmesinde çok sayıda orta ve büyük şirketi destekleyen uzmanlar ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası uzman konferansındaki görünümleri, 90'dan fazla uzman kitabı ve 1.500'den fazla uzman makalesi sayesinde Holger Schwichtenberg, Almanya'daki .NET ve Web teknikleri için en iyi uzmanlardan biridir.
Microsoft, mevcut .NET CLI komutuyla ilgili olan yeni Microsoft.net.Build.Container Nuget paketini yayınladı. dotnet publish kullanabilir.
CLI .NET komutlarına sahip aşağıdaki PowerShell komut dosyası, yeni bir .NET projesinin oluşturulmasından (bu durumda Blazor sunucusunun bir uygulaması) ve Linux Plus içeriğinde Weber Contain aracılığıyla Docker Container aracılığıyla kodun değiştirilmesinden (bu durumda Blazor Sunucunun Uygulaması) birkaç komutunun sırasını gösterir.
# Projekt anlegen (hier: ASP.NET Core Blazor Server)
dotnet new blazorserver -n BSContainer
# In den Ordner wechseln
cd .BSContainer
# Programmcode in Startseite austauschen mit Informationen über
# Umgebung, .NET- und OS-Version sowie Prozess
$indexpage = @'
@page "/"
<PageTitle>Index</PageTitle>
<h1>Hallo iX-Leser*in,</h1>
<p>diese Blazor Server App läuft
@if (System.Environment.GetEnvironmentVariable
("DOTNET_RUNNING_IN_CONTAINER")=="true")
{ <text><b>im Container </b></text> }
else
{ <text>nicht im Container </text> }
mit
@System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription
auf @System.Runtime.InteropServices.RuntimeInformation.OSDescription!
</p>
<p>Prozess:
@System.Diagnostics.Process.GetCurrentProcess().ProcessName<br>
Prozessidentität:
@[email protected]</p>
'@
$indexpage | Set-Content "pages/index.razor"
# Container-Build-Paket hinzufügen
dotnet add package Microsoft.NET.Build.Containers
# Veröffentlichen als Container
dotnet publish --os linux --arch x64 -c Release
-p
# Start des Containers (in getrennten Prozess,
# weil sonst dieser hier blockiert ist)
Start-Process powershell {
docker run -it --rm -p 5000:80 bscontainer:1.0.0 }
# optionaler Aufruf des Browsers zur Kontrolle
Start-Process "http://localhost:5000"
Yeni NuGet paketi, ilgili temel görüntüyü seçen “Varsayılan Konteyner” yayın profillerini sağlar (burada “mcr.microsoft.com/dotnet/aspnet:7.0”). Docker takılmalı ve hedef konteyner otomatik olarak Linux X64'te çalışır.

PowerShell penceresi, ASP.NET Core Blazor sunucusu ve tarayıcı penceresi erişimi ile kapta çalışan web sunucusunun masraflarını gösterir.
(RME)