-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.prebuilt
More file actions
30 lines (23 loc) · 1.13 KB
/
Dockerfile.prebuilt
File metadata and controls
30 lines (23 loc) · 1.13 KB
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
29
30
# Dockerfile for pre-built application
# Uses pre-compiled .NET publish output (framework-dependent)
# Much faster than building inside Docker - same output works on all architectures
#
# Runtime: chiseled-extra — distroless Ubuntu Noble with ICU globalization data,
# non-root (UID 1654) by default, no shell/package manager.
# The -extra variant is required because the app uses culture-aware localization (en-US).
FROM mcr.microsoft.com/dotnet/aspnet:10.0-noble-chiseled-extra
WORKDIR /app
# Copy pre-built application from publish artifact
COPY publish/ .
# Expose port
EXPOSE 8080
# Environment variables (can be overridden at runtime)
ENV ASPNETCORE_URLS=http://+:8080
ENV ASPNETCORE_ENVIRONMENT=Production
# Disable globalization-invariant mode so ICU cultures (en-US) work correctly.
# The chiseled-extra image includes ICU but still defaults to invariant mode.
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false
# No HEALTHCHECK — chiseled images have no shell or curl.
# Health monitoring via docker-compose or external access to /health endpoint.
# Entry point
ENTRYPOINT ["dotnet", "BudgetExperiment.Api.dll"]