Rust 如何停止所有使用升船机的运行集装箱?

Rust 如何停止所有使用升船机的运行集装箱?,rust,rust-tokio,Rust,Rust Tokio,我可以使用升船机获取一份正在运行的集装箱清单,但我发现很难阻止它们。经过多次尝试和错误,我似乎可以创建一个期货向量,然后加入它们,以创建一个单一的未来回报。这个连接的未来似乎没有被调用,容器也从未停止过。有没有更好的方法来运行所有这些期货,然后返回结果 let docker = connection.clone(); docker .containers() .list(&Default::default()) .map(move |list| {

我可以使用升船机获取一份正在运行的集装箱清单,但我发现很难阻止它们。经过多次尝试和错误,我似乎可以创建一个期货向量,然后加入它们,以创建一个单一的未来回报。这个连接的未来似乎没有被调用,容器也从未停止过。有没有更好的方法来运行所有这些期货,然后返回结果

let docker = connection.clone();
docker
    .containers()
    .list(&Default::default())
    .map(move |list| {
        let mut futures = Vec::new();
        for container in list {
            let cont = connection.containers().get(&container.id);
            println!("Stopping {}", cont.id());
            futures.push(cont.stop(Some(std::time::Duration::from_secs(1))));
            // futures.push(connection.containers().get(&container.id).stop(None).map_err(|_| println!("error")));
        }
        join_all(futures)
    })
    .map(|_| println!("Stopped all"))
    .map_err(|e| eprintln!("Error: {}", e))

很难回答你的问题,因为它没有包含一个。我们无法说出代码中存在哪些板条箱(及其版本)、类型、特征、字段等。如果您试图重现您的错误(如果可能的话),或者在全新的货运项目中,那么我们将更容易帮助您,然后您的问题将包括附加信息。您可以使用以下方法减少在此处发布的原始代码。谢谢看起来你的问题可能会由你的答案来回答。如果没有,请回答您的问题以解释差异。否则,我们可以将此问题标记为已回答。