{"record":{"id":"d1c798d98735ce1a","repo":"microsoft/aspire","slug":"container-runtime-runtime-name-does-not-support-image-d1c798","errorCode":null,"errorMessage":"Container runtime '{runtime.Name}' does not support image configuration inspection, which is required for Azure sandbox deployment.","messagePattern":"Container runtime '(.+?)' does not support image configuration 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":1111,"sourceCode":"        var entrypoint = resource is ContainerResource container && !string.IsNullOrWhiteSpace(container.Entrypoint)\n            ? new[] { container.Entrypoint }\n            : null;\n        var command = resolvedArgs.Count == 0 ? null : resolvedArgs;\n\n        return new ResolvedModeledCommand(entrypoint, command, egressHosts);\n    }\n\n    internal static bool HasModeledCommandConfiguration(IResource resource) =>\n        resource is ContainerResource { Entrypoint: { Length: > 0 } } ||\n        resource.TryGetAnnotationsOfType<CommandLineArgsCallbackAnnotation>(out var callbacks) && callbacks.Any();\n\n    private static async Task<ContainerImageMetadata> InspectLocalContainerImageAsync(PipelineStepContext context, string imageReference)\n    {\n        var runtime = await ResolveContainerRuntimeAsync(context).ConfigureAwait(false);\n        var result = await runtime.InspectImageConfigAsync(imageReference, context.CancellationToken).ConfigureAwait(false);\n        if (result.Status == ContainerImageInspectionStatus.Unsupported)\n        {\n            throw new NotSupportedException(\n                $\"Container runtime '{runtime.Name}' does not support image configuration 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 configuration '{imageReference}'.\");\n        }\n\n        if (!result.TryGetConfig(out var config))\n        {\n            throw new InvalidOperationException($\"Container runtime did not return image configuration for '{imageReference}'.\");\n        }\n\n        return new ContainerImageMetadata(\n            config.Entrypoint,\n            config.Command,\n            new Dictionary<string, string>(StringComparer.Ordinal),","sourceCodeStart":1093,"sourceCodeEnd":1129,"githubUrl":"https://github.com/microsoft/aspire/blob/25830f84bd145686607ad00c057b3f84e2e51d43/src/Aspire.Hosting.Azure.Sandboxes/AzureSandboxContainerDeployment.cs#L1093-L1129","documentation":"To capture entrypoint/command metadata for the sandbox disk image, the integration inspects the local image configuration via InspectImageConfigAsync. If the runtime reports Status == Unsupported for configuration inspection, deployment throws NotSupportedException, mirroring the manifest-inspection check.","triggerScenarios":"InspectLocalContainerImageAsync calls runtime.InspectImageConfigAsync, and the resolved runtime adapter returns ContainerImageInspectionStatus.Unsupported — the runtime tool cannot export image config (e.g. minimal or nonstandard runtime implementation).","commonSituations":"Machine has an exotic or stripped-down container runtime resolved first on PATH; a runtime CLI lacking `image inspect`/config export capability; misconfigured runtime selection picking the wrong tool.","solutions":["Install a fully supported runtime (Docker Desktop or Podman) and ensure it is first on PATH.","Upgrade the runtime to a version supporting image configuration inspection.","Check the runtime name in the message to identify which tool was resolved and correct PATH/ordering.","Alternatively supply the image from a registry with a supported runtime available so config inspection can run."],"exampleFix":"// before (shell)\nwhich docker   # resolves to a limited wrapper script\n\n// after\nexport PATH=\"/usr/bin:$PATH\"   # or install Docker Desktop/Podman; re-run aspire deploy","handlingStrategy":"validation","validationCode":"var proc = await Process.RunAsync(\"docker\", \"image inspect <image>\");\nif (proc.ExitCode != 0) throw new InvalidOperationException(\"Runtime cannot inspect image config; install Docker/Podman.\");","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use a full-featured runtime (Docker Desktop/Podman) on the deploy machine.","Confirm `docker image inspect` returns config before deploying.","Avoid stripped-down runtime wrappers on PATH."],"tags":["containers","docker","local-environment","sandbox"],"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"}