From 7b64d6192acb08d2194f3f3505277c54a760e126 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Jane=C5=BEi=C4=8D?= Date: Tue, 23 May 2023 23:38:07 +0200 Subject: [PATCH] feat: docker_compose::start can be called with optional containers Allow for starting just some of the containers. This will be needed for implementing postgres::import where we'll need to stop all containers and then only start postgres container. --- src/main.rs | 2 +- src/scripts/docker_compose.rs | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index 50d844f..d7a08ed 100644 --- a/src/main.rs +++ b/src/main.rs @@ -25,7 +25,7 @@ fn main() -> Result<()> { cli::DockerCompose::Down => scripts::docker_compose::down(), cli::DockerCompose::Rebuild => scripts::docker_compose::rebuild(), cli::DockerCompose::Restart => scripts::docker_compose::restart(), - cli::DockerCompose::Start => scripts::docker_compose::start(), + cli::DockerCompose::Start => scripts::docker_compose::start(None), cli::DockerCompose::Stop => scripts::docker_compose::stop(), cli::DockerCompose::Up => scripts::docker_compose::up(), }, diff --git a/src/scripts/docker_compose.rs b/src/scripts/docker_compose.rs index 2d33571..3acd017 100644 --- a/src/scripts/docker_compose.rs +++ b/src/scripts/docker_compose.rs @@ -10,7 +10,14 @@ pub fn down() -> Result<()> { DockerCommand::docker_compose().args("down").spawn_wait() } -pub fn start() -> Result<()> { +/// Start containers via `docker compose start`. Optionally pass containers to be started. +/// ``` +/// start(None); +/// ``` +/// is roughly the same as +/// `docker compose --env-file ./.env -f docker/local/docker-compose.yaml up start` +pub fn start(containers: Option<&str>) -> Result<()> { + let args = format!("start {}", containers.unwrap_or("")); DockerCommand::docker_compose().args("start").spawn_wait() } @@ -26,10 +33,10 @@ pub fn up() -> Result<()> { pub fn rebuild() -> Result<()> { stop()?; build()?; - start() + start(None) } pub fn restart() -> Result<()> { stop()?; - start() + start(None) }