fix: Docker-SDK-Image auf global.json-Version pinnen

docker compose Build schlug bei Dokploy fehl: "A compatible .NET SDK
was not found". global.json pinnt exakt 10.0.301 mit
rollForward: latestPatch (erlaubt nur neuere Patches im selben
Feature-Band), der treibende Tag mcr.microsoft.com/dotnet/sdk:10.0
zeigte inzwischen aber auf 10.0.400 (neues Feature-Band) - latestPatch
lehnt das ab. Build-Stage in Dockerfile.api auf den exakten Tag
10.0.301 gepinnt, TODO.md 10.2.4 um den Vorfall ergänzt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-17 23:27:35 +02:00
co-authored by Claude Sonnet 5
parent 858499e8ec
commit 788eb42fd2
2 changed files with 13 additions and 1 deletions
+9
View File
@@ -1408,6 +1408,15 @@ die Docker-Verifikation unter 10.2.4 (kein Docker im Entwicklungsstand verfügba
Ein tatsächlicher `docker compose up`-Durchlauf konnte in dieser Umgebung nicht verifiziert
werden (kein Docker verfügbar) — steht vor dem ersten echten Deployment noch aus.
**Nachtrag (echter Dokploy-Deploy-Versuch):** Build schlug fehl mit "A compatible .NET SDK
was not found" — `global.json` pinnt exakt `10.0.301` mit `rollForward: latestPatch`, das
erlaubt nur neuere Patches im selben Feature-Band (300er). Der treibende Docker-Image-Tag
`mcr.microsoft.com/dotnet/sdk:10.0` zeigte inzwischen auf `10.0.400` (Feature-Band 400) —
`latestPatch` lehnt das ab. Fix in `docker/Dockerfile.api`: Build-Stage exakt auf
`mcr.microsoft.com/dotnet/sdk:10.0.301` gepinnt. **Merke:** wird `global.json` je auf eine
neuere SDK-Version gehoben, muss dieser Tag mitgezogen werden, sonst bricht der Docker-Build
auf die gleiche Art wieder ab.
### 10.3 Verschlüsselung
- [ ] **10.3.1** Schlüsselübertragung auf ein zweites Gerät (QR-Code oder Passphrase).
- [ ] **10.3.2** Warnung und Wiederherstellungspfad bei verlorenem Schlüssel.
+4 -1
View File
@@ -1,7 +1,10 @@
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
# Muss exakt zu global.json (rollForward: latestPatch) passen - der treibende ":10.0"-Tag zeigt
# irgendwann auf ein neueres Feature-Band (z.B. 10.0.400), das latestPatch nicht akzeptiert und
# den Build mit "A compatible .NET SDK was not found" abbrechen lässt.
FROM mcr.microsoft.com/dotnet/sdk:10.0.301 AS build
WORKDIR /src
COPY ["LehrerApp.Api/LehrerApp.Api.csproj", "LehrerApp.Api/"]
COPY ["LehrerApp.Sync/LehrerApp.Sync.csproj", "LehrerApp.Sync/"]