diff options
Diffstat (limited to 'examples/imagebuild.rs')
-rw-r--r-- | examples/imagebuild.rs | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/examples/imagebuild.rs b/examples/imagebuild.rs index 788634e..4b67219 100644 --- a/examples/imagebuild.rs +++ b/examples/imagebuild.rs @@ -1,17 +1,22 @@ extern crate shiplift; +extern crate tokio; use shiplift::{BuildOptions, Docker}; use std::env; +use tokio::prelude::{Future, Stream}; fn main() { let docker = Docker::new(); - if let Some(path) = env::args().nth(1) { - let image = docker - .images() - .build(&BuildOptions::builder(path).tag("shiplift_test").build()) - .unwrap(); - for output in image { + let path = env::args().nth(1).expect("You need to specify a path"); + + let fut = docker + .images() + .build(&BuildOptions::builder(path).tag("shiplift_test").build()) + .for_each(|output| { println!("{:?}", output); - } - } + Ok(()) + }) + .map_err(|e| eprintln!("Error: {}", e)); + + tokio::run(fut); } |