docker-ctl 0.2.5

Crate for conveniently starting and stopping docker containers.
Documentation
use std::process::Command;

use crate::Result;

/// Builds a container
pub struct Builder
{
  dockerfile: String,
  tag: String,
}

impl Builder
{
  pub fn build(self) -> Result<()>
  {
    let mut cmd = Command::new("docker");
    cmd.args(["build", "-t", &self.tag, "-f", &self.dockerfile, "."]);
    // Spawn
    let mut r = cmd.spawn()?;
    r.wait()?;
    Ok(())
  }
}

/// Create a builder for building a docker image
pub fn build(dockerfile: impl Into<String>, tag: impl Into<String>) -> Builder
{
  let dockerfile = dockerfile.into();
  let tag = tag.into();
  Builder { dockerfile, tag }
}