Browse Source

Fix restart with stopped containers.
Fixes #1814

Signed-off-by: Stéphane Seguin <[email protected]>

Stéphane Seguin 10 năm trước cách đây
mục cha
commit
61f91ebff7
2 tập tin đã thay đổi với 10 bổ sung1 xóa
  1. 1 1
      compose/service.py
  2. 9 0
      tests/acceptance/cli_test.py

+ 1 - 1
compose/service.py

@@ -185,7 +185,7 @@ class Service(object):
             c.kill(**options)
 
     def restart(self, **options):
-        for c in self.containers():
+        for c in self.containers(stopped=True):
             log.info("Restarting %s" % c.name)
             c.restart(**options)
 

+ 9 - 0
tests/acceptance/cli_test.py

@@ -597,6 +597,15 @@ class CLITestCase(DockerClientTestCase):
             started_at,
         )
 
+    def test_restart_stopped_container(self):
+        service = self.project.get_service('simple')
+        container = service.create_container()
+        container.start()
+        container.kill()
+        self.assertEqual(len(service.containers(stopped=True)), 1)
+        self.dispatch(['restart', '-t', '1'], None)
+        self.assertEqual(len(service.containers(stopped=False)), 1)
+
     def test_scale(self):
         project = self.project