{"record":{"id":"6a7ec4fc95aeecb0","repo":"jdx/mise","slug":"engine-docker-requested-but-docker-was-not-fou","errorCode":null,"errorMessage":"--engine docker requested but `docker` was not found on PATH","messagePattern":"--engine docker requested but `docker` was not found on PATH","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/cli/oci/run.rs","lineNumber":233,"sourceCode":"        } else if !status.success() {\n            bail!(\"{engine_bin} exited abnormally: {status:?}\");\n        }\n        Ok(())\n    }\n}\n\nfn select_engine(requested: Engine) -> Result<Engine> {\n    match requested {\n        Engine::Podman => {\n            if file::which(\"podman\").is_some() {\n                Ok(Engine::Podman)\n            } else {\n                bail!(\"--engine podman requested but `podman` was not found on PATH\")\n            }\n        }\n        Engine::Docker => {\n            if file::which(\"docker\").is_none() {\n                bail!(\"--engine docker requested but `docker` was not found on PATH\");\n            }\n            Ok(Engine::Docker)\n        }\n        Engine::Auto => {\n            if file::which(\"podman\").is_some() {\n                Ok(Engine::Podman)\n            } else if file::which(\"docker\").is_some() {\n                Ok(Engine::Docker)\n            } else {\n                bail!(\"no supported container engine found. Install podman or docker.\")\n            }\n        }\n    }\n}\n\nfn engine_name(engine: Engine) -> &'static str {\n    match engine {\n        Engine::Podman => \"podman\",","sourceCodeStart":215,"sourceCodeEnd":251,"githubUrl":"https://github.com/jdx/mise/blob/9dcfcaa0dc8747a2577d3270b69bb9d8313b2807/src/cli/oci/run.rs#L215-L251","documentation":"`--engine docker` explicitly demands docker. `select_engine` checks `file::which(\"docker\")` and bails rather than falling back to podman, since the engine was explicitly requested. Auto mode would have picked podman if present.","triggerScenarios":"`mise oci run --engine docker ...` with no docker binary on PATH: Docker Desktop not installed/started on macOS/Windows, docker not installed in the CI image, or a rootless environment where only podman exists.","commonSituations":"Minimal CI containers (built from slim images) that never installed docker; docker installed but Docker Desktop daemon not running is a different failure — this one is purely binary-not-found; dev boxes that switched to podman.","solutions":["Install docker (Docker Desktop, or `apt install docker.io`)","Omit `--engine` to let Auto mode use podman if installed","Confirm visibility: `command -v docker`"],"exampleFix":"# before\nmise oci run --engine docker ghcr.io/you/devenv:tag -- bash\n# after\nmise oci run ghcr.io/you/devenv:tag -- bash   # auto-selects podman/docker","handlingStrategy":"validation","validationCode":"# bash: require docker only when explicitly demanded\nif [ \"$ENGINE\" = \"docker\" ] && ! command -v docker >/dev/null 2>&1; then\n  echo \"docker required but not on PATH\" >&2; exit 2\nfi\nmise oci run ${ENGINE:+--engine \"$ENGINE\"} -- bash","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Prefer Auto mode; pin --engine only in environments you control","On macOS ensure Docker Desktop is installed AND its CLI symlinks are on PATH before scripting mise oci"],"tags":["oci","run","docker","path","container-engine"],"backgroundTag":"executable-not-found","analyzedSha":"9dcfcaa0dc8747a2577d3270b69bb9d8313b2807","analyzedAt":"2026-08-17T14:28:50.624Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}