microsoft/aspire · error · NotSupportedException

Container runtime ' ' does not support image manifest…

Error message

Container runtime '{runtime.Name}' does not support image manifest inspection, which is required for Azure sandbox deployment.

What it means

Before creating a disk image for sandbox deployment, the integration asks the local container runtime to inspect the image manifest. If the runtime reports Status == Unsupported (it cannot inspect manifests at all), the deployment throws NotSupportedException because an immutable linux/amd64 manifest digest is mandatory for the sandbox.

Solutions

  1. Install or switch to a supported container runtime (current Docker Desktop or Podman) that supports manifest inspection.
  2. Update the local container runtime to a recent version that supports OCI manifest inspection (docker manifest inspect / podman inspect).
  3. Verify which runtime the integration resolved (runtime.Name in the message) and align PATH so the intended runtime is picked.
  4. Pre-pull the image with a supported runtime so inspection runs locally against cached manifests.

Example fix

// before (shell)
docker --version   # very old Docker without manifest support

// after
docker version     # upgrade to Docker 20.10+ or install Podman; re-run aspire deploy
Defensive patterns

Strategy: validation

Validate before calling

// Pre-check before deploying
var proc = await Process.RunAsync("docker", "manifest inspect --insecure <image>");
if (proc.ExitCode != 0) throw new InvalidOperationException("Runtime cannot inspect manifests; install Docker/Podman.");

Prevention

When it happens

Trigger: ResolveContainerImageReferenceForDiskImageAsync calls runtime.InspectImageManifestAsync for the resolved image, and the selected runtime implementation (e.g. an unsupported or minimal runtime adapter) returns ContainerImageInspectionStatus.Unsupported.

Common situations: Using a container runtime tool that the integration does not support for manifest inspection (unusual/legacy runtime on the machine); a runtime CLI installed without manifest/registry support (e.g. very old Docker lacking manifest inspect capability).

Understand the failure class

Background: "unsupported platform" / "not supported on this platform" errors: what they mean and how to fix them — this error's family across 47 libraries.

Related errors


AI-assisted analysis of microsoft/aspire@25830f84bd (2026-09-16). Data as JSON: /api/errors/3a7be0b69c1ce482. Report an issue: GitHub.

Appendix: source

Thrown at src/Aspire.Hosting.Azure.Sandboxes/AzureSandboxContainerDeployment.cs:1011

        var runtime = await ResolveContainerRuntimeAsync(context).ConfigureAwait(false);
        return await ResolveContainerImageReferenceForDiskImageAsync(
            runtime,
            imageReference,
            context.CancellationToken).ConfigureAwait(false);
    }

    internal static async Task<string> ResolveContainerImageReferenceForDiskImageAsync(
        IContainerRuntime runtime,
        string imageReference,
        CancellationToken cancellationToken)
    {
        ArgumentNullException.ThrowIfNull(runtime);
        ArgumentException.ThrowIfNullOrWhiteSpace(imageReference);

        var result = await runtime.InspectImageManifestAsync(imageReference, cancellationToken).ConfigureAwait(false);
        if (result.Status == ContainerImageInspectionStatus.Unsupported)
        {
            throw new NotSupportedException(
                $"Container runtime '{runtime.Name}' does not support image manifest inspection, which is required for Azure sandbox deployment.");
        }

        if (result.Status == ContainerImageInspectionStatus.Failed)
        {
            throw new InvalidOperationException(
                result.ErrorMessage ?? $"Container runtime failed to inspect image manifest '{imageReference}'.");
        }

        if (!result.TryGetManifest("linux", "amd64", out var manifest))
        {
            throw new InvalidOperationException(
                $"Container image '{imageReference}' does not contain a linux/amd64 manifest with an immutable digest.");
        }

        return CreateDigestImageReference(imageReference, manifest.Digest);
    }

View on GitHub (pinned to 25830f84bd)