dockworker 0.17.0

Docker daemon API client. (a fork of Faraday's boondock)
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use dockworker::{ContainerCreateOptions, ContainerHostConfig, Docker, ExposedPorts, PortBindings};

#[tokio::main]
async fn main() {
    let docker = Docker::connect_with_defaults().unwrap();
    let mut create = ContainerCreateOptions::new("nginx:latest");
    create.tty(true);
    create.exposed_ports(ExposedPorts(vec![(80, "tcp".to_string())]));
    let mut host_config = ContainerHostConfig::new();
    host_config.port_bindings(PortBindings(vec![(80, "tcp".to_string(), 8080)]));

    let container = docker
        .create_container(Some("test"), &create)
        .await
        .unwrap();
    docker.start_container(&container.id).await.unwrap();
}