mirror of https://github.com/docker/compose.git
Allowing running containers to be rm'd by stop flag
Signed-off-by: David McKay <david@rawkode.com>
This commit is contained in:
parent
a953651597
commit
1f9fb27456
|
@ -635,6 +635,7 @@ class TopLevelCommand(object):
|
|||
|
||||
Options:
|
||||
-f, --force Don't ask to confirm removal
|
||||
-s, --stop Stop the containers, if required, before removing
|
||||
-v Remove any anonymous volumes attached to containers
|
||||
-a, --all Deprecated - no effect.
|
||||
"""
|
||||
|
@ -645,6 +646,15 @@ class TopLevelCommand(object):
|
|||
)
|
||||
one_off = OneOffFilter.include
|
||||
|
||||
if options.get('--stop'):
|
||||
running_containers = self.project.containers(
|
||||
service_names=options['SERVICE'], stopped=False, one_off=one_off
|
||||
)
|
||||
self.project.stop(
|
||||
service_names=running_containers,
|
||||
one_off=one_off
|
||||
)
|
||||
|
||||
all_containers = self.project.containers(
|
||||
service_names=options['SERVICE'], stopped=True, one_off=one_off
|
||||
)
|
||||
|
|
|
@ -1498,6 +1498,11 @@ class CLITestCase(DockerClientTestCase):
|
|||
self.assertEqual(len(service.containers(stopped=True)), 1)
|
||||
self.dispatch(['rm', '-f'], None)
|
||||
self.assertEqual(len(service.containers(stopped=True)), 0)
|
||||
service = self.project.get_service('simple')
|
||||
service.create_container()
|
||||
self.dispatch(['rm', '-fs'], None)
|
||||
simple = self.project.get_service('simple')
|
||||
self.assertEqual(len(simple.containers()), 0)
|
||||
|
||||
def test_rm_all(self):
|
||||
service = self.project.get_service('simple')
|
||||
|
|
Loading…
Reference in New Issue