ARG REPO=mcr.microsoft.com/dotnet/monitor/base # Installer image FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer RUN tdnf install -y \ ca-certificates \ gzip \ tar \ && tdnf clean all # Retrieve .NET Monitor extensions RUN dotnet_monitor_extension_version=8.1.3 \ && curl --fail --show-error --location \ --output dotnet-monitor-egress-azureblobstorage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-x64.tar.gz \ --output dotnet-monitor-egress-s3storage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-x64.tar.gz \ && dotnet_monitor_azureblobstorage_sha512='de39a12654999c3173647924a205160cff9cefb1c532c31de9126b6c01b6e7ac4ac109a9b0818ca63086a2ae6a6a2fbbc5b7f044f25529fa39684e0564cca8e6' \ && echo "$dotnet_monitor_azureblobstorage_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ && dotnet_monitor_s3storage_sha512='8be25b42cfc7d6b8cce2832ed27f1832e9068cd04e2f0574ab824d609d35ac1461bbde1361316bea0a8bf18eeca2b489ac22fd7aa7b57efc887d8a12c23ea984' \ && echo "$dotnet_monitor_s3storage_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ && mkdir --parents /app \ && tar --gzip --extract --no-same-owner --file dotnet-monitor-egress-azureblobstorage.tar.gz --directory /app \ && tar --gzip --extract --no-same-owner --file dotnet-monitor-egress-s3storage.tar.gz --directory /app \ && rm \ dotnet-monitor-egress-azureblobstorage.tar.gz \ dotnet-monitor-egress-s3storage.tar.gz # .NET Monitor image FROM $REPO:8.1.3-azurelinux-distroless-amd64 COPY --from=installer ["/app", "/app"]