use std::env::args;
use replicate::Replicate;
const IMAGE: &str = "alpine:3";
fn main() -> Result<(), Box<dyn std::error::Error>> {
if args().len() == 1 {
let copy = Replicate::new()?;
println!("My copy's path is {}", copy.display());
let pathstr = copy.display().to_string();
let map = format!("{0}:{0}", pathstr);
let mut child = std::process::Command::new("docker")
.args(["run", "-t", "-v", &map, IMAGE, &pathstr, "inside"])
.spawn()?;
let ecode = child.wait()?;
assert!(ecode.success());
} else {
println!("Called inside \"{}\" with arguments {:?}", IMAGE, args())
}
Ok(())
}