diff options
author | softprops <d.tangren@gmail.com> | 2016-01-03 11:16:09 -0500 |
---|---|---|
committer | softprops <d.tangren@gmail.com> | 2016-01-03 11:16:09 -0500 |
commit | 8396f65350e92e9da07c434e98f2ce777b2875de (patch) | |
tree | 32d94f05b203ce5eaa88ffc948b70d7aeeb167f7 /examples | |
parent | 86cf34af4d65ecd7a4e3b7097d799a882e230771 (diff) |
imporve export example
Diffstat (limited to 'examples')
-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"); + } } |