{"record":{"id":"77e2378b0cf3478b","repo":"zed-industries/zed","slug":"docker-command-error-self-docker-cli-subcommand","errorCode":null,"errorMessage":"docker_command_error(self.docker_cli(), subcommand, args, &String::from_utf8_lossy(&output.stderr))","messagePattern":"docker_command_error\\(self\\.docker_cli\\(\\), subcommand, args, &String::from_utf8_lossy\\(&output\\.stderr\\)\\)","errorType":"error_code","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/remote/src/transport/docker.rs","lineNumber":523,"sourceCode":"\n    async fn run_docker_command(\n        &self,\n        subcommand: &str,\n        args: &[impl AsRef<str>],\n    ) -> Result<String> {\n        let mut command = util::command::new_command(self.docker_cli());\n        command.arg(subcommand);\n        for arg in args {\n            command.arg(arg.as_ref());\n        }\n        let output = command.output().await?;\n        log::debug!(\n            \"{}: {:?}\",\n            redact_arguments(self.docker_cli(), subcommand, args),\n            output.status\n        );\n        if !output.status.success() {\n            anyhow::bail!(docker_command_error(\n                self.docker_cli(),\n                subcommand,\n                args,\n                &String::from_utf8_lossy(&output.stderr),\n            ));\n        }\n        Ok(String::from_utf8_lossy(&output.stdout).to_string())\n    }\n\n    fn docker_exec_arguments(\n        &self,\n        inner_program: &str,\n        working_directory: Option<&str>,\n        env: &HashMap<String, String>,\n        program_args: &[impl AsRef<str>],\n    ) -> Vec<String> {\n        let mut args = match working_directory {\n            Some(dir) => vec![\"-w\".to_string(), dir.to_string()],","sourceCodeStart":505,"sourceCodeEnd":541,"githubUrl":"https://github.com/zed-industries/zed/blob/5a9b9558db01a6b906cec2fb70a797affdc58cdd/crates/remote/src/transport/docker.rs#L505-L541","documentation":"Raised in run_docker_command when a docker CLI invocation (docker <subcommand> <args...>) exits with a non-zero status. The command's stderr is captured and formatted via docker_command_error, which builds a human-readable message (command line with secrets redacted plus stderr) describing why the docker operation — typically a docker exec against the remote server container — failed.","triggerScenarios":"Thrown at crates/remote/src/transport/docker.rs:523 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the included stderr text; common causes are the container not running, the image missing, or permission problems with the docker socket","Verify the docker CLI binary path and that the docker daemon is reachable from the machine running Zed","Re-run the printed docker command manually to reproduce the failure and act on docker's own error message","If the failure is transient (daemon starting up), retry the remote connection after the docker daemon is healthy"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5a9b9558db01a6b906cec2fb70a797affdc58cdd","analyzedAt":"2026-09-05T10:33:00.413Z","contentChangedAt":"2026-09-05T10:33:00.413Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}