Browse Source

Provide option to remove volumes in `fig rm`

Mark Steve Samson 11 years ago
parent
commit
41bacae171
2 changed files with 8 additions and 3 deletions
  1. 5 1
      fig/cli/main.py
  2. 3 2
      fig/container.py

+ 5 - 1
fig/cli/main.py

@@ -170,6 +170,9 @@ class TopLevelCommand(Command):
         Remove stopped service containers.
 
         Usage: rm [SERVICE...]
+
+        Options:
+            -v    Remove volumes associated with containers
         """
         all_containers = self.project.containers(service_names=options['SERVICE'], stopped=True)
         stopped_containers = [c for c in all_containers if not c.is_running]
@@ -177,7 +180,8 @@ class TopLevelCommand(Command):
         if len(stopped_containers) > 0:
             print("Going to remove", list_containers(stopped_containers))
             if yesno("Are you sure? [yN] ", default=False):
-                self.project.remove_stopped(service_names=options['SERVICE'])
+                self.project.remove_stopped(service_names=options['SERVICE'],
+                                            remove_volumes=options['-v'])
         else:
             print("No stopped containers")
 

+ 3 - 2
fig/container.py

@@ -111,8 +111,9 @@ class Container(object):
     def kill(self):
         return self.client.kill(self.id)
 
-    def remove(self):
-        return self.client.remove_container(self.id)
+    def remove(self, **options):
+        v = options.get('remove_volumes', False)
+        return self.client.remove_container(self.id, v=v)
 
     def inspect_if_not_inspected(self):
         if not self.has_been_inspected: