orleans Docker & Self-Hosted Deployment

GitHub

Cloud Native application framework for .NET

1. Pull Image (DOCKERHUB) docker pull dotnet/orleans:latest
2. Docker Run (1-Click Launch) docker run -d --name orleans -p 8080:8080 --restart always dotnet/orleans:latest
3. Podman Run podman run -d --name orleans -p 8080:8080 --restart always dotnet/orleans:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/dotnet/orleans:latest
5. ORAS Pull (OCI Artifact) oras pull dotnet/orleans:latest
samples/Deployment/AzureContainerApps/Clients.MinimalApi/Dockerfile
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
WORKDIR /app
EXPOSE 8080
ENV ASPNETCORE_HTTP_PORTS=8080
USER $APP_UID

FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
WORKDIR /src
COPY . .
RUN dotnet restore "samples/Deployment/AzureContainerApps/Clients.MinimalApi/Clients.MinimalApi.csproj" --configfile samples/NuGet.config
WORKDIR "/src/samples/Deployment/AzureContainerApps/Clients.MinimalApi"
RUN dotnet build "Clients.MinimalApi.csproj" -c Release -o /app/build --no-restore

FROM build AS publish
RUN dotnet publish "Clients.MinimalApi.csproj" -c Release -o /app/publish --no-restore

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Clients.MinimalApi.dll"]