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
- Install or switch to a supported container runtime (current Docker Desktop or Podman) that supports manifest inspection.
- Update the local container runtime to a recent version that supports OCI manifest inspection (docker manifest inspect / podman inspect).
- Verify which runtime the integration resolved (runtime.Name in the message) and align PATH so the intended runtime is picked.
- 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
- Install a current Docker Desktop or Podman on deployment machines.
- Verify `docker manifest inspect` works locally before running aspire deploy.
- Keep PATH pointing at the intended, fully featured runtime.
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
- Container runtime did not return image configuration for
- Container runtime ' ' does not support image configuration…
- Container image ' ' does not contain a linux/amd64 manifest…
- Resource ' ' cannot be deployed to Azure sandbox group ' '…
- result.ErrorMessage ?? "Container runtime failed to inspect…
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)