[][src]Crate wharf

Wharf ⚓🦀

Example

This example is not tested
use failure::Error;
use wharf::Docker;
use wharf::opts::{ContainerBuilderOpts, ListContainersOpts};

#[tokio::main]
async fn main() -> Result<(), Error> {
    // create docker api instance
    let d = Docker::new("http://0.0.0.0:2376")?;
    // get containers api handle from d
    let containers = d.containers();
    // Create instance of query options
    let mut opts = ListContainersOpts::new();
    opts.all(true);
    // iterate over containers
    for container in containers.list(opts).await? {
        // manipulate container
        container.start().await?;
        container.stop().await?;
    }
    // Create a container
    let mut container_opts = ContainerBuilderOpts::new();
    container_opts
	.image("ubuntu")
	.cmd(&["/bin/echo".into(), "hello".into()])
	.env(&["HTTPS_PROXY=proxy.domain.com:1337"]);

    containers.create("jimmy-falcon", &container_opts).await?;

    Ok(())
}

Modules

api

API interfaces for docker subparts like Containers, Images or Networks.

opts

Configuration builders for all methods.

result

Rust-y results from docker json results

Structs

Docker

The main interface to interact with an instance of Docker.