From 8396f65350e92e9da07c434e98f2ce777b2875de Mon Sep 17 00:00:00 2001 From: softprops Date: Sun, 3 Jan 2016 11:16:09 -0500 Subject: imporve export example --- examples/export.rs | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/examples/export.rs b/examples/export.rs index 1a24fde..422c19d 100644 --- a/examples/export.rs +++ b/examples/export.rs @@ -1,16 +1,23 @@ extern crate shiplift; use shiplift::Docker; +use std::env; use std::io::prelude::*; use std::io::copy; use std::fs::OpenOptions; fn main() { - let docker = Docker::new(); - let export = OpenOptions::new().write(true).create(true).open("export.tgz").unwrap(); - let images = docker.images(); - let mut exported = images.get("nginx").export().unwrap(); - println!("copying"); - copy(&mut exported, &mut export).unwrap(); - println!("copied"); + let docker = Docker::new(); + if let Some(id) = env::args().nth(1) { + let mut export = OpenOptions::new() + .write(true) + .create(true) + .open(format!("{}.tgz", &id)) + .unwrap(); + let images = docker.images(); + let mut exported = images.get(&id).export().unwrap(); + println!("copying"); + copy(&mut exported, &mut export).unwrap(); + println!("copied"); + } } -- cgit v1.2.3