Dockerfile added

This commit is contained in:
2025-03-03 01:15:38 +01:00
Unverified
parent 8b1ab05a08
commit 3ba87b842d
4 changed files with 85 additions and 0 deletions

25
WatchIt.WebAPI/Dockerfile Normal file
View File

@@ -0,0 +1,25 @@
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base
USER $APP_UID
WORKDIR /app
EXPOSE 8080
EXPOSE 8081
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["WatchIt.WebAPI/WatchIt.WebAPI.csproj", "WatchIt.WebAPI/"]
COPY ["WatchIt.Database/WatchIt.Database.csproj", "WatchIt.Database/"]
COPY ["WatchIt.DTO/WatchIt.DTO.csproj", "WatchIt.DTO/"]
RUN dotnet restore "WatchIt.WebAPI/WatchIt.WebAPI.csproj"
COPY . .
WORKDIR "/src/WatchIt.WebAPI"
RUN dotnet build "WatchIt.WebAPI.csproj" -c $BUILD_CONFIGURATION -o /app/build
FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "WatchIt.WebAPI.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "WatchIt.WebAPI.dll"]

View File

@@ -4,6 +4,7 @@
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
</PropertyGroup>
<ItemGroup>
@@ -29,4 +30,19 @@
<ProjectReference Include="..\WatchIt.DTO\WatchIt.DTO.csproj" />
</ItemGroup>
<ItemGroup>
<Content Include="..\.dockerignore">
<Link>.dockerignore</Link>
</Content>
</ItemGroup>
<ItemGroup>
<_ContentIncludedByDefault Remove="WatchIt.WebAPI.Controllers\obj\project.assets.json" />
<_ContentIncludedByDefault Remove="WatchIt.WebAPI.Controllers\obj\project.packagespec.json" />
<_ContentIncludedByDefault Remove="WatchIt.WebAPI.Controllers\obj\WatchIt.WebAPI.Controllers.csproj.nuget.dgspec.json" />
<_ContentIncludedByDefault Remove="WatchIt.WebAPI.Validators\obj\project.assets.json" />
<_ContentIncludedByDefault Remove="WatchIt.WebAPI.Validators\obj\project.packagespec.json" />
<_ContentIncludedByDefault Remove="WatchIt.WebAPI.Validators\obj\WatchIt.WebAPI.Validators.csproj.nuget.dgspec.json" />
</ItemGroup>
</Project>