13个版本

使用旧的Rust 2015

0.3.7 2018年8月14日
0.3.6 2018年8月1日
0.3.5 2018年7月24日
0.3.4 2018年6月15日
0.1.0 2018年6月5日

#44 in #tcp-socket

22 每月下载量

MIT 协议

32KB
976 代码行数(不包括注释)

Docktape

Docktape doc badge

Unix Socket初始化

// Unix socket
let socket = UnixSocket::new("/var/run/docker.sock");

//TCP socket
let socket = TcpSocket::new("https://127.0.0.1:2375");

初始化Docker

let mut docker = Docker::new(socket.clone());

调用Docker API

match docker.create_image_from_image("fedora:latest", ""){
    Some(msg) =>{
        println!("Error message: {:?}", msg["message"]);
    }
    None =>{
        println!("Image created.");
    }
}

match docker.get_images(){
    Some(images) =>{
        println!("There are {} image(s).", images.len());
    },
    None =>{
        println!("There are no images.");
    }
}

match docker.inspect_image("fedora:latest"){
    Some(img) => {
        println!("Image id: {}.", img.id());
    }
    None => {
        println!("Cannot get image.");
    }
}

...

lib.rs:

Docktape

Docktape是Docker API的封装(https://docs.docker.net.cn/develop/sdk/)。

这个crate当前使用Hyper v0.11.27(https://docs.rs/crate/hyper/0.11.27),并将很快更新。

依赖项

~11MB
~212K SLoC