42 lines
700 B
Docker
42 lines
700 B
Docker
ARG BUILD_PATH_ARG=/build
|
|
|
|
|
|
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
|
|
|
|
|
|
ENV SOURCE_PATH=/source
|
|
|
|
ARG BUILD_PATH_ARG
|
|
ENV BUILD_PATH=${BUILD_PATH_ARG}
|
|
|
|
|
|
ADD ./src ${SOURCE_PATH}
|
|
WORKDIR ${SOURCE_PATH}
|
|
|
|
RUN dotnet publish HttpApi \
|
|
--output ${BUILD_PATH} --no-self-contained \
|
|
-p:PublishSingleFile=true -p:IsAotCompatible=true
|
|
|
|
RUN rm -Rf ${BUILD_PATH}/*pdb
|
|
|
|
|
|
|
|
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime
|
|
|
|
|
|
ARG BUILD_PATH_ARG
|
|
ENV BUILD_PATH=${BUILD_PATH_ARG}
|
|
|
|
ARG APP_PATH_ARG=/app
|
|
ENV APP_PATH=${APP_PATH_ARG}
|
|
|
|
|
|
WORKDIR ${APP_PATH}
|
|
COPY --from=build ${BUILD_PATH} .
|
|
|
|
EXPOSE 8080/tcp
|
|
|
|
HEALTHCHECK CMD curl --fail http://localhost:8080/health || exit
|
|
|
|
ENTRYPOINT ${APP_PATH}/HttpApi
|