#docker-compose #docker #compose #monitoring

compose-rs

A Rust library to execute docker-compose commands and monitor compose stacks

3 个版本

0.0.3 2024年4月18日
0.0.2 2024年4月18日
0.0.1 2024年4月18日

#201 in 配置

MIT 许可证

34KB
820 代码行

compose-rs

compose-rs 是一个用于以编程方式管理Docker Compose环境的Rust库。它提供了一个简单的API,可以直接从Rust代码中执行常见的Docker Compose命令。

功能

  • 易于设置:快速配置Docker Compose路径并开始管理容器。
  • 命令执行:支持基本Docker Compose命令,如 updownpsstats
  • 实时统计:实时流式传输服务的统计信息。

安装

添加到您的 Cargo.toml

[dependencies]
+ compose-rs = "0.0.3"

快速入门

此示例演示了如何启动Docker Compose环境并实时监控运行服务的统计信息。

use compose_rs::{Compose, ComposeCommand};

fn main() {
    let compose = Compose::builder()
        .path("docker-compose.yml")
        .build()
        .unwrap();

    // Execute the `up` command to start services defined in the Docker Compose file
    if let Err(e) = compose.up().exec() {
        eprintln!("Error starting services: {}", e);
    }

    // Stream stats and print them in real-time for each service
    compose
        .stats()
        .stream()
        .unwrap()
        .into_iter()
        .for_each(|service| {
            println!("{:?}", service);
        });

    // After monitoring, bring down the services
    if let Err(e) = compose.down().exec() {
        println!("Error stopping services: {}", e);
    }
}

文档

有关详细的API文档和高级用法,请参阅生成的文档。

贡献

欢迎贡献!请随时通过打开问题或提交拉取请求来贡献。

许可证

compose-rs 使用MIT许可证。有关详细信息,请参阅LICENSE。

依赖关系

~3–5MB
~92K SLoC