7个版本

使用旧的Rust 2015

0.1.6 2019年8月31日
0.1.5 2019年3月16日

#179 in #docker

22 每月下载量
用于 2 crates

MIT 许可证

20KB
423

Dockers

一个Rust Docker库。

与其他Docker库相比,我认为我的用例不需要异步(并使用futures),因此这是一个围绕Docker API的同步方法包装器。你可以用这个来同步工作,如果需要,可以在其上实现异步代码,但为此,你可能更愿意选择其他选项。

示例

extern crate dockers;

use dockers::Container;
use dockers::Image;

fn main () {
    let img = Image::pull("debian".to_owned(), None)
        .expect("Cannot pull image");

    let cont = Container::new(None, Some("debian".to_owned()))
        .create(Some("my_debian_cont_name".to_owned(), None))
        .expect("Cannot create container");

    // Do your things...

    cont.remove();
    img.remove();
}

路线图

  • 简单的API,用于常用用例
  • 通过自定义方法覆盖复杂用例
  • 允许配置,类似于docker compose

lib.rs:

Dockers

Dockers是Rust的Docker API包装器,它主要关注易用性,默认异步,并公开底层API。

示例

extern crate dockers;

use dockers::Container;
use dockers::Image;

fn main () {
    let img = Image::pull("rabbitmq".to_owned(), None)
        .expect("Cannot pull image");

    let cont = Container::new(None, Some("rabbitmq".to_owned()))
        .create(Some("my_rabbitmq".to_owned()), None)
        .expect("Cannot create container");

    // Do your things...

    cont.remove();
    img.remove();
}

依赖项

~8–16MB
~243K SLoC