summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorsoftprops <d.tangren@gmail.com>2016-01-03 11:16:09 -0500
committersoftprops <d.tangren@gmail.com>2016-01-03 11:16:09 -0500
commit8396f65350e92e9da07c434e98f2ce777b2875de (patch)
tree32d94f05b203ce5eaa88ffc948b70d7aeeb167f7 /examples
parent86cf34af4d65ecd7a4e3b7097d799a882e230771 (diff)
imporve export example
Diffstat (limited to 'examples')
-rw-r--r--examples/export.rs21
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");
+ }
}