You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by be...@apache.org on 2014/08/05 00:09:29 UTC

[08/43] git commit: Added rm() in docker.hpp/cpp to enable users remove containers.

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 <gu...@gmail.com>
Authored: Tue Jun 24 16:52:48 2014 -0700
Committer: Benjamin Hindman <be...@gmail.com>
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;