diff options
Diffstat (limited to 'examples/export.rs')
-rw-r--r-- | examples/export.rs | 21 |
1 files 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"); + } } |