29 lines
886 B
Docker
29 lines
886 B
Docker
|
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
|
||
|
WORKDIR /mwl
|
||
|
COPY ./MyWebLog.sln ./
|
||
|
COPY ./Directory.Build.props ./
|
||
|
COPY ./MyWebLog/MyWebLog.fsproj ./MyWebLog/
|
||
|
COPY ./MyWebLog.Data/MyWebLog.Data.fsproj ./MyWebLog.Data/
|
||
|
COPY ./MyWebLog.Domain/MyWebLog.Domain.fsproj ./MyWebLog.Domain/
|
||
|
RUN dotnet restore
|
||
|
|
||
|
COPY . ./
|
||
|
WORKDIR /mwl/MyWebLog
|
||
|
RUN dotnet publish -f net7.0 -c Release -r linux-x64
|
||
|
|
||
|
FROM alpine AS theme
|
||
|
RUN apk add --no-cache zip
|
||
|
WORKDIR /themes
|
||
|
COPY ./default-theme ./default-theme/
|
||
|
RUN zip default-theme.zip ./default-theme/*
|
||
|
COPY ./admin-theme ./admin-theme/
|
||
|
RUN zip admin-theme.zip ./admin-theme/*
|
||
|
|
||
|
FROM mcr.microsoft.com/dotnet/aspnet:7.0 as final
|
||
|
WORKDIR /app
|
||
|
COPY --from=build /mwl/MyWebLog/bin/Release/net7.0/linux-x64/publish/ ./
|
||
|
COPY --from=theme /themes/*.zip /app/
|
||
|
|
||
|
EXPOSE 80
|
||
|
CMD [ "/app/MyWebLog" ]
|