mirror of
https://github.com/docker/compose.git
synced 2025-04-08 17:05:13 +02:00
Merge pull request #4040 from rawkode/feature/allow-running-containers-to-be-deleted
Allowing running containers to be rm'd by stop flag
This commit is contained in:
commit
01fa147183
@ -680,6 +680,7 @@ class TopLevelCommand(object):
|
|||||||
|
|
||||||
Options:
|
Options:
|
||||||
-f, --force Don't ask to confirm removal
|
-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
|
-v Remove any anonymous volumes attached to containers
|
||||||
-a, --all Deprecated - no effect.
|
-a, --all Deprecated - no effect.
|
||||||
"""
|
"""
|
||||||
@ -690,6 +691,15 @@ class TopLevelCommand(object):
|
|||||||
)
|
)
|
||||||
one_off = OneOffFilter.include
|
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(
|
all_containers = self.project.containers(
|
||||||
service_names=options['SERVICE'], stopped=True, one_off=one_off
|
service_names=options['SERVICE'], stopped=True, one_off=one_off
|
||||||
)
|
)
|
||||||
|
@ -1547,6 +1547,11 @@ class CLITestCase(DockerClientTestCase):
|
|||||||
self.assertEqual(len(service.containers(stopped=True)), 1)
|
self.assertEqual(len(service.containers(stopped=True)), 1)
|
||||||
self.dispatch(['rm', '-f'], None)
|
self.dispatch(['rm', '-f'], None)
|
||||||
self.assertEqual(len(service.containers(stopped=True)), 0)
|
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):
|
def test_rm_all(self):
|
||||||
service = self.project.get_service('simple')
|
service = self.project.get_service('simple')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user