add doocker file
This commit is contained in:
parent
f0fe68d851
commit
e1533a5c23
2 changed files with 136 additions and 20 deletions
|
|
@ -1,28 +1,55 @@
|
|||
# See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
|
||||
|
||||
# This stage is used when running from VS in fast mode (Default for Debug configuration)
|
||||
FROM mcr.microsoft.com/dotnet/runtime:8.0 AS base
|
||||
USER app
|
||||
WORKDIR /app
|
||||
## See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
|
||||
#
|
||||
## This stage is used when running from VS in fast mode (Default for Debug configuration)
|
||||
#FROM mcr.microsoft.com/dotnet/runtime:8.0 AS base
|
||||
#USER app
|
||||
#WORKDIR /app
|
||||
#
|
||||
#
|
||||
## This stage is used to build the service project
|
||||
#FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
||||
#ARG BUILD_CONFIGURATION=Release
|
||||
#WORKDIR /src
|
||||
#COPY ["./BMA.EHR.CheckInConsumer.csproj", "BMA.EHR.CheckInConsumer/"]
|
||||
#RUN dotnet restore "BMA.EHR.CheckInConsumer/BMA.EHR.CheckInConsumer.csproj"
|
||||
#COPY . .
|
||||
#WORKDIR "/src/BMA.EHR.CheckInConsumer"
|
||||
#RUN dotnet build "BMA.EHR.CheckInConsumer.csproj" -c $BUILD_CONFIGURATION -o /app/build
|
||||
#
|
||||
## This stage is used to publish the service project to be copied to the final stage
|
||||
#FROM build AS publish
|
||||
#ARG BUILD_CONFIGURATION=Release
|
||||
#RUN dotnet publish "BMA.EHR.CheckInConsumer.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
|
||||
#
|
||||
## This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration)
|
||||
#FROM base AS final
|
||||
#WORKDIR /app
|
||||
#COPY --from=publish /app/publish .
|
||||
#ENTRYPOINT ["dotnet", "BMA.EHR.CheckInConsumer.dll"]
|
||||
|
||||
|
||||
# This stage is used to build the service project
|
||||
# ใช้ official .NET SDK image สำหรับการ build
|
||||
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
||||
ARG BUILD_CONFIGURATION=Release
|
||||
|
||||
# กำหนด working directory ภายใน container
|
||||
WORKDIR /src
|
||||
COPY ["BMA.EHR.CheckInConsumer/BMA.EHR.CheckInConsumer.csproj", "BMA.EHR.CheckInConsumer/"]
|
||||
RUN dotnet restore "./BMA.EHR.CheckInConsumer/BMA.EHR.CheckInConsumer.csproj"
|
||||
COPY . .
|
||||
WORKDIR "/src/BMA.EHR.CheckInConsumer"
|
||||
RUN dotnet build "./BMA.EHR.CheckInConsumer.csproj" -c $BUILD_CONFIGURATION -o /app/build
|
||||
|
||||
# This stage is used to publish the service project to be copied to the final stage
|
||||
FROM build AS publish
|
||||
ARG BUILD_CONFIGURATION=Release
|
||||
RUN dotnet publish "./BMA.EHR.CheckInConsumer.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
|
||||
# คัดลอกไฟล์ .csproj และ restore dependencies
|
||||
COPY *.csproj ./
|
||||
RUN dotnet restore
|
||||
|
||||
# This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration)
|
||||
FROM base AS final
|
||||
# คัดลอกไฟล์ทั้งหมดและ build
|
||||
COPY . ./
|
||||
RUN dotnet build -c Release -o /app/build
|
||||
|
||||
# ใช้ stage ใหม่สำหรับการ runtime
|
||||
FROM mcr.microsoft.com/dotnet/runtime:8.0 AS runtime
|
||||
|
||||
# กำหนด working directory สำหรับ runtime
|
||||
WORKDIR /app
|
||||
COPY --from=publish /app/publish .
|
||||
|
||||
# คัดลอกไฟล์จาก build stage มายัง runtime stage
|
||||
COPY --from=build /app/build .
|
||||
|
||||
# ระบุ entry point ของแอปพลิเคชัน
|
||||
ENTRYPOINT ["dotnet", "BMA.EHR.CheckInConsumer.dll"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue