Files
soroushasadi/Dockerfile
T

39 lines
1.3 KiB
Docker
Raw Normal View History

ARG DOTNET_IMAGE=mcr.microsoft.com/dotnet/aspnet:10.0-alpine
ARG SDK_IMAGE=mcr.microsoft.com/dotnet/sdk:10.0-alpine
# ── Build ─────────────────────────────────────────────────────────────────────
FROM ${SDK_IMAGE} AS build
WORKDIR /src
COPY SoroushAsadi.Web.csproj ./
RUN dotnet restore --runtime linux-musl-x64
2026-05-31 12:47:02 +03:30
COPY . .
RUN dotnet publish SoroushAsadi.Web.csproj \
--no-restore \
--runtime linux-musl-x64 \
--self-contained false \
-c Release \
-o /app/publish
# ── Runtime ───────────────────────────────────────────────────────────────────
FROM ${DOTNET_IMAGE} AS runner
2026-05-31 12:47:02 +03:30
WORKDIR /app
RUN apk add --no-cache ca-certificates \
&& addgroup -g 1001 dotnet \
&& adduser -u 1001 -G dotnet -h /home/dotnet -D dotnet
2026-05-31 12:47:02 +03:30
COPY --from=build /app/publish ./
2026-05-31 12:47:02 +03:30
ENV ASPNETCORE_ENVIRONMENT=Production \
ASPNETCORE_URLS=http://+:3000 \
DataDir=/data
2026-05-31 12:47:02 +03:30
RUN mkdir -p /data/uploads && chown -R dotnet:dotnet /data /app
USER dotnet
2026-05-31 12:47:02 +03:30
VOLUME ["/data"]
EXPOSE 3000
ENTRYPOINT ["dotnet", "SoroushAsadi.Web.dll"]