docker-ctl 0.2.0

Crate for conveniently starting and stopping docker containers.
Documentation
<div align="center">

[![docs](https://docs.rs/docker-ctl/badge.svg)](https://docs.rs/docker-ctl)
[![crates.io](https://img.shields.io/crates/v/docker-ctl.svg)](https://crates.io/crates/docker-ctl)
</div>

docker-ctl
==========

Crate for conveniently starting and stopping docker containers. This crate is a wrapper around the docker command line interface.

Installation
------------

Add `docker-ctl` to your project with:

```bash
cargo add docker-ctl
```

Example
-------

```rust
use docker_ctl::Container;
use std::io::{Read, Write};

// Create a new container, with the `alpine` image in interractive mode.
let mut container = Container::configure("alpine")
  .set_interractive(true)
  .create();

/// Start the container
container.start().unwrap();

/// Run the `echo` command in the container
let mut stdin = container.take_stdin().unwrap();
stdin.write_all(b"echo Hello World!").unwrap();

/// Dropping `stdin` will terminate the container
drop(stdin);

/// Read the output
let mut buf = vec![];
container
  .take_stdout()
  .unwrap()
  .read_to_end(&mut buf)
  .unwrap();

/// Print `Hellow World!\n` characters.
println!("{:?}", buf);
```