update
This commit is contained in:
60
Dockerfile
Normal file
60
Dockerfile
Normal file
@@ -0,0 +1,60 @@
|
||||
# Stage 1: Build
|
||||
# Note: Project files specify net10.0, but using .NET 9.0 based on package versions (9.0.9)
|
||||
# Adjust version if needed: 8.0 (LTS), 9.0 (current), or future 10.0
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
|
||||
WORKDIR /app
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
||||
WORKDIR /src
|
||||
|
||||
# Copy solution file
|
||||
COPY RobotApp.sln .
|
||||
|
||||
# Copy project files
|
||||
COPY RobotApp/RobotApp.csproj RobotApp/
|
||||
COPY RobotApp.Client/RobotApp.Client.csproj RobotApp.Client/
|
||||
COPY RobotApp.Common.Shares/RobotApp.Common.Shares.csproj RobotApp.Common.Shares/
|
||||
COPY RobotApp.VDA5050/RobotApp.VDA5050.csproj RobotApp.VDA5050/
|
||||
|
||||
# Restore dependencies
|
||||
RUN dotnet restore RobotApp.sln
|
||||
|
||||
# Copy all source files
|
||||
COPY RobotApp/ RobotApp/
|
||||
COPY RobotApp.Client/ RobotApp.Client/
|
||||
COPY RobotApp.Common.Shares/ RobotApp.Common.Shares/
|
||||
COPY RobotApp.VDA5050/ RobotApp.VDA5050/
|
||||
|
||||
RUN rm -rf ./RobotApp/RobotApp/bin
|
||||
RUN rm -rf ./RobotApp/RobotApp/obj
|
||||
RUN rm -rf ./RobotApp.Client/RobotApp.Client/bin
|
||||
RUN rm -rf ./RobotApp.Client/RobotApp.Client/obj
|
||||
RUN rm -rf ./RobotApp.Common.Shares/RobotApp.Common.Shares/bin
|
||||
RUN rm -rf ./RobotApp.Common.Shares/RobotApp.Common.Shares/obj
|
||||
RUN rm -rf ./RobotApp.VDA5050/RobotApp.VDA5050/bin
|
||||
RUN rm -rf ./RobotApp.VDA5050/RobotApp.VDA5050/obj
|
||||
|
||||
# Build the solution
|
||||
WORKDIR /src/RobotApp
|
||||
RUN dotnet build -c Release -o /app/build
|
||||
|
||||
# Stage 2: Publish
|
||||
FROM build AS publish
|
||||
WORKDIR /src/RobotApp
|
||||
RUN dotnet publish -c Release -o /app/publish /p:UseAppHost=false
|
||||
|
||||
# Copy published files
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
COPY --from=publish /app/publish ./
|
||||
|
||||
# Create directory for database
|
||||
RUN mkdir -p /app/data
|
||||
|
||||
# Set environment variables
|
||||
#ENV ASPNETCORE_URLS=http://+:8080
|
||||
ENV ASPNETCORE_ENVIRONMENT=Production
|
||||
|
||||
# Run the application
|
||||
ENTRYPOINT ["dotnet", "RobotApp.dll"]
|
||||
|
||||
Reference in New Issue
Block a user