1
0
mirror of https://github.com/docker/compose.git synced 2025-04-08 17:05:13 +02:00

Allowing running containers to be rm'd by stop flag

Signed-off-by: David McKay <david@rawkode.com>
This commit is contained in:
David McKay 2016-10-18 11:31:02 +01:00
parent a953651597
commit 1f9fb27456
2 changed files with 15 additions and 0 deletions
compose/cli
tests/acceptance

@ -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')