MCPcopy Create free account
hub / github.com/Metaswitch/floki / start_as_daemon

Method start_as_daemon

src/command.rs:80–110  ·  view source on GitHub ↗
(self, command: &[&str])

Source from the content-addressed store, hash-verified

78 }
79
80 pub fn start_as_daemon(self, command: &[&str]) -> Result<DaemonHandle, Error> {
81 debug!("Starting daemon container '{}'", self.name);
82 let exit_status = Command::new("docker")
83 .args(["run", "--rm"])
84 .args(["--name", &self.name])
85 .args(self.build_volume_switches())
86 .args(self.build_environment_switches())
87 .args(self.build_docker_switches())
88 .arg("-d")
89 .arg(&self.image)
90 .args(command)
91 .stdin(Stdio::null())
92 .stdout(Stdio::null())
93 .stderr(Stdio::null())
94 .spawn()
95 .map_err(|e| FlokiError::FailedToLaunchDocker { error: e })?
96 .wait()
97 .map_err(|e| FlokiError::FailedToCompleteDockerCommand { error: e })?;
98
99 if exit_status.success() {
100 Ok(DaemonHandle::from_builder(self))
101 } else {
102 Err(FlokiError::RunContainerFailed {
103 exit_status: FlokiSubprocessExitStatus {
104 process_description: "docker run".into(),
105 exit_status,
106 },
107 }
108 .into())
109 }
110 }
111
112 pub fn new(image: &str) -> Self {
113 DockerCommandBuilder {

Callers 1

launchMethod · 0.80

Calls 3

build_volume_switchesMethod · 0.80
build_docker_switchesMethod · 0.80

Tested by

no test coverage detected