github.com/anchore/syft@v1.38.2/syft/pkg/cataloger/dotnet/test-fixtures/image-net8-app-with-runtime/Dockerfile (about)

     1  # This represents a basic .NET project build where the project dependencies are downloaded and the project is built.
     2  # The output is a directory tree of DLLs, a project.lock.json (not used in these tests), a .deps.json file, and
     3  # a .runtimeconfig.json file (not used in these tests).
     4  # With this deployment strategy there IS a bundled runtime.
     5  FROM --platform=linux/amd64 mcr.microsoft.com/dotnet/sdk:8.0-alpine@sha256:7d3a75ca5c8ac4679908ef7a2591b9bc257c62bd530167de32bba105148bb7be AS build
     6  ARG RUNTIME=win-x64
     7  WORKDIR /src
     8  
     9  # copy csproj and restore as distinct layers
    10  COPY src/*.csproj .
    11  COPY src/packages.lock.json .
    12  RUN dotnet restore -r $RUNTIME --verbosity normal --locked-mode
    13  
    14  # copy and publish app and libraries
    15  COPY src/ .
    16  RUN dotnet publish -r $RUNTIME --no-restore -o /app
    17  
    18  FROM --platform=linux/amd64 mcr.microsoft.com/dotnet/runtime:8.0@sha256:a6fc92280fbf2149cd6846d39c5bf7b9b535184e470aa68ef2847b9a02f6b99e
    19  WORKDIR /app
    20  COPY --from=build /app .
    21  # just a nice to have for later...
    22  #COPY --from=build /src/packages.lock.json .
    23  
    24  # this is a more realistic application image since the runtime is with the app
    25  ENTRYPOINT ["dotnet", "dotnetapp.dll"]
    26