| Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com> | ||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| README.md | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	Rust bindings for runc CLI
A crate for consuming the runc binary in your Rust applications, similar to go-runc for Go. This crate is based on archived rust-runc.
Usage
Both sync/async version is available.
You can build runc client with RuncConfig in method chaining style.
Call build() or build_async() to get client.
Note that async client depends on tokio, then please use it on tokio runtime.
#[tokio::main]
async fn main() {
    let config = runc::GlobalOpts::new()
        .root("./new_root")
        .debug(false)
        .log("/path/to/logfile.json")
        .log_format(runc::LogFormat::Json)
        .rootless(true);
    let client = config.build_async().unwrap();
    let opts = runc::options::CreateOpts::new()
        .pid_file("/path/to/pid/file")
        .no_pivot(true);
    client.create("container-id", "path/to/bundle", Some(&opts)).unwrap();
}
Limitations
- Supported commands are only:
- create
- start
- state
- kill
- delete
 
- Exec is not available in RuncAsyncClientnow.
- Console utilites are not available
- see Go version