Added rm() in docker.hpp/cpp to enable users remove containers.
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/d60cc835 Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/d60cc835 Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/d60cc835 Branch: refs/heads/master Commit: d60cc8358000433bc14011f73d475830e113bbb2 Parents: cad1bbb Author: Yifan Gu <[email protected]> Authored: Tue Jun 24 16:52:48 2014 -0700 Committer: Benjamin Hindman <[email protected]> Committed: Mon Aug 4 15:08:15 2014 -0700 ---------------------------------------------------------------------- src/docker/docker.cpp | 20 ++++++++++++++++++++ src/docker/docker.hpp | 5 +++++ 2 files changed, 25 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/d60cc835/src/docker/docker.cpp ---------------------------------------------------------------------- diff --git a/src/docker/docker.cpp b/src/docker/docker.cpp index 7d72ea2..500517c 100644 --- a/src/docker/docker.cpp +++ b/src/docker/docker.cpp @@ -111,6 +111,26 @@ Future<Option<int> > Docker::kill(const string& container) const } +Future<Option<int> > Docker::rm(const string& container, const bool force) const +{ + string cmd = force ? " rm -f " : " rm "; + + VLOG(1) << "Running " << path << cmd << container; + + Try<Subprocess> s = subprocess( + path + cmd + container, + Subprocess::PIPE(), + Subprocess::PIPE(), + Subprocess::PIPE()); + + if (s.isError()) { + return Failure(s.error()); + } + + return s.get().status(); +} + + Future<Docker::Container> Docker::inspect(const string& container) const { VLOG(1) << "Running " << path << " inspect " << container; http://git-wip-us.apache.org/repos/asf/mesos/blob/d60cc835/src/docker/docker.hpp ---------------------------------------------------------------------- diff --git a/src/docker/docker.hpp b/src/docker/docker.hpp index 6aa25b1..b0d0a3a 100644 --- a/src/docker/docker.hpp +++ b/src/docker/docker.hpp @@ -68,6 +68,11 @@ public: process::Future<Option<int> > kill( const std::string& container) const; + // Performs 'docker rm (-f) CONTAINER'. + process::Future<Option<int> > rm( + const std::string& container, + const bool force = true) const; + // Performs 'docker inspect CONTAINER'. process::Future<Container> inspect( const std::string& container) const;
