1 import std.stdio; 2 import std.string; 3 import core.time:Duration,seconds; 4 auto c = LXCContainer("apicontainer"); 5 6 enforce(!c.isDefined, "Container already exists"); 7 8 auto result = c.create("download", null, BackingDeviceSpec(), CreateFlags.quiet, ["-d", "ubuntu", "-r", "trusty", "-a", "i386"]); 9 enforce(result == OpStatus.success,"Failed to create container rootfs"); 10 11 result = c.start(false); 12 enforce(result == OpStatus.success, "Failed to start the container"); 13 14 writeln("Container state: ", c.state()); 15 writeln("Container PID: ", c.initPid()); 16 17 if (c.shutdown(5.seconds) != OpStatus.success) 18 { 19 writeln("Failed to cleanly shutdown the container, forcing."); 20 enforce(c.stop() == OpStatus.success, "Failed to kill the container."); 21 } 22 23 enforce(c.destroy == OpStatus.success,"Failed to destroy the container");