{"record":{"id":"3a7be0b69c1ce482","repo":"microsoft/aspire","slug":"container-runtime-runtime-name-does-not-support-image","errorCode":null,"errorMessage":"Container runtime '{runtime.Name}' does not support image manifest inspection, which is required for Azure sandbox deployment.","messagePattern":"Container runtime '(.+?)' does not support image manifest inspection, which is required for Azure sandbox deployment\\.","errorType":"exception","errorClass":"NotSupportedException","httpStatus":null,"severity":"error","filePath":"src/Aspire.Hosting.Azure.Sandboxes/AzureSandboxContainerDeployment.cs","lineNumber":1011,"sourceCode":"        var runtime = await ResolveContainerRuntimeAsync(context).ConfigureAwait(false);\n        return await ResolveContainerImageReferenceForDiskImageAsync(\n            runtime,\n            imageReference,\n            context.CancellationToken).ConfigureAwait(false);\n    }\n\n    internal static async Task<string> ResolveContainerImageReferenceForDiskImageAsync(\n        IContainerRuntime runtime,\n        string imageReference,\n        CancellationToken cancellationToken)\n    {\n        ArgumentNullException.ThrowIfNull(runtime);\n        ArgumentException.ThrowIfNullOrWhiteSpace(imageReference);\n\n        var result = await runtime.InspectImageManifestAsync(imageReference, cancellationToken).ConfigureAwait(false);\n        if (result.Status == ContainerImageInspectionStatus.Unsupported)\n        {\n            throw new NotSupportedException(\n                $\"Container runtime '{runtime.Name}' does not support image manifest inspection, which is required for Azure sandbox deployment.\");\n        }\n\n        if (result.Status == ContainerImageInspectionStatus.Failed)\n        {\n            throw new InvalidOperationException(\n                result.ErrorMessage ?? $\"Container runtime failed to inspect image manifest '{imageReference}'.\");\n        }\n\n        if (!result.TryGetManifest(\"linux\", \"amd64\", out var manifest))\n        {\n            throw new InvalidOperationException(\n                $\"Container image '{imageReference}' does not contain a linux/amd64 manifest with an immutable digest.\");\n        }\n\n        return CreateDigestImageReference(imageReference, manifest.Digest);\n    }\n","sourceCodeStart":993,"sourceCodeEnd":1029,"githubUrl":"https://github.com/microsoft/aspire/blob/25830f84bd145686607ad00c057b3f84e2e51d43/src/Aspire.Hosting.Azure.Sandboxes/AzureSandboxContainerDeployment.cs#L993-L1029","documentation":"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.","triggerScenarios":"ResolveContainerImageReferenceForDiskImageAsync calls runtime.InspectImageManifestAsync for the resolved image, and the selected runtime implementation (e.g. an unsupported or minimal runtime adapter) returns ContainerImageInspectionStatus.Unsupported.","commonSituations":"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).","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."],"exampleFix":"// before (shell)\ndocker --version   # very old Docker without manifest support\n\n// after\ndocker version     # upgrade to Docker 20.10+ or install Podman; re-run aspire deploy","handlingStrategy":"validation","validationCode":"// Pre-check before deploying\nvar proc = await Process.RunAsync(\"docker\", \"manifest inspect --insecure <image>\");\nif (proc.ExitCode != 0) throw new InvalidOperationException(\"Runtime cannot inspect manifests; install Docker/Podman.\");","typeGuard":null,"tryCatchPattern":null,"preventionTips":["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."],"tags":["containers","docker","image","sandbox","local-environment"],"backgroundTag":"unsupported-platform","analyzedSha":"25830f84bd145686607ad00c057b3f84e2e51d43","analyzedAt":"2026-09-16T11:10:06.193Z","contentChangedAt":"2026-09-16T11:10:06.193Z","schemaVersion":2},"datasetVersion":"2026-09-21T04:17:39.646Z"}