25 lines
747 B
Docker
25 lines
747 B
Docker
# --- Stage 1: Build (Die Bau-Umgebung) ---
|
|
FROM ://microsoft.com AS build-env
|
|
WORKDIR /app
|
|
|
|
# 1. Nur Projektdatei kopieren und Abhängigkeiten laden (Nutzt Docker-Caching)
|
|
COPY *.csproj ./
|
|
RUN dotnet restore
|
|
|
|
# 2. Den restlichen Quellcode kopieren und die App kompilieren
|
|
COPY . ./
|
|
RUN dotnet publish -c Release -o out
|
|
|
|
# --- Stage 2: Runtime (Das fertige, schlanke Image) ---
|
|
FROM ://microsoft.com
|
|
WORKDIR /app
|
|
|
|
# 3. Den vorinstallierten User 'app' von Microsoft nutzen
|
|
USER app
|
|
|
|
# 4. Nur die fertigen Binärdateien aus der Bau-Umgebung rüberschieben
|
|
COPY --from=build-env /app/out .
|
|
|
|
# 5. Startbefehl festlegen
|
|
# WICHTIG: Falls deine DLL anders heißt (z.B. MyHelloWorld.dll), passe den Namen hier an!
|
|
ENTRYPOINT ["dotnet", "SecDevOpsLab.dll"] |