diff --git a/src/compose.rs b/src/compose.rs index e231136..f497040 100644 --- a/src/compose.rs +++ b/src/compose.rs @@ -1,3 +1,4 @@ +use std::collections::HashSet; use std::path::{Path, PathBuf}; use std::process::Command; @@ -26,4 +27,15 @@ impl ComposeProject { .status() .is_ok() } + + pub fn get_images(&self) -> HashSet { + let output = Command::new("docker-compose") + .current_dir(self.working_directory()) + .args(&["-f", &self.compose_file.to_string_lossy()]) + .args(&["images", "-q"]) + .output() + .expect("Failed to get images"); + let stdout = String::from_utf8(output.stdout).expect("Failed to parse output"); + stdout.trim().split('\n').map(String::from).collect() + } }