-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerFile
More file actions
28 lines (21 loc) · 741 Bytes
/
DockerFile
File metadata and controls
28 lines (21 loc) · 741 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Stage 1: Build
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
WORKDIR /src
# Copy csproj and restore first (Docker cache-friendly)
COPY SpaceXLaunchBlazorApp/SpaceXLaunchBlazorApp.csproj ./SpaceXLaunchBlazorApp/
WORKDIR /src/SpaceXLaunchBlazorApp
RUN dotnet restore
# Copy the full project and publish
COPY SpaceXLaunchBlazorApp/ ./
RUN dotnet publish -c Release -o /app/publish /p:UseAppHost=false
# Stage 2: Runtime (Distroless)
FROM gcr.io/distroless/dotnet10:runtime AS runtime
WORKDIR /app
# Set ASP.NET Core to listen on all interfaces
ENV ASPNETCORE_URLS=http://+:8080
# Copy published output from build stage
COPY --from=build /app/publish .
# Expose port
EXPOSE 8080
# Run the app
ENTRYPOINT ["SpaceXLaunchBlazorApp.dll"]