mirror of
https://github.com/docker/compose.git
synced 2025-07-22 21:24:38 +02:00
Merge pull request #393 from marksteve/restart
Implement restart command (Closes #98)
This commit is contained in:
commit
ce8ef23c09
@ -91,6 +91,7 @@ class TopLevelCommand(Command):
|
|||||||
scale Set number of containers for a service
|
scale Set number of containers for a service
|
||||||
start Start services
|
start Start services
|
||||||
stop Stop services
|
stop Stop services
|
||||||
|
restart Restart services
|
||||||
up Create and start containers
|
up Create and start containers
|
||||||
|
|
||||||
"""
|
"""
|
||||||
@ -336,6 +337,14 @@ class TopLevelCommand(Command):
|
|||||||
"""
|
"""
|
||||||
project.stop(service_names=options['SERVICE'])
|
project.stop(service_names=options['SERVICE'])
|
||||||
|
|
||||||
|
def restart(self, project, options):
|
||||||
|
"""
|
||||||
|
Restart running containers.
|
||||||
|
|
||||||
|
Usage: restart [SERVICE...]
|
||||||
|
"""
|
||||||
|
project.restart(service_names=options['SERVICE'])
|
||||||
|
|
||||||
def up(self, project, options):
|
def up(self, project, options):
|
||||||
"""
|
"""
|
||||||
Build, (re)create, start and attach to containers for a service.
|
Build, (re)create, start and attach to containers for a service.
|
||||||
|
@ -123,6 +123,9 @@ class Container(object):
|
|||||||
def kill(self):
|
def kill(self):
|
||||||
return self.client.kill(self.id)
|
return self.client.kill(self.id)
|
||||||
|
|
||||||
|
def restart(self):
|
||||||
|
return self.client.restart(self.id)
|
||||||
|
|
||||||
def remove(self, **options):
|
def remove(self, **options):
|
||||||
return self.client.remove_container(self.id, **options)
|
return self.client.remove_container(self.id, **options)
|
||||||
|
|
||||||
|
@ -156,6 +156,10 @@ class Project(object):
|
|||||||
for service in reversed(self.get_services(service_names)):
|
for service in reversed(self.get_services(service_names)):
|
||||||
service.kill(**options)
|
service.kill(**options)
|
||||||
|
|
||||||
|
def restart(self, service_names=None, **options):
|
||||||
|
for service in self.get_services(service_names):
|
||||||
|
service.restart(**options)
|
||||||
|
|
||||||
def build(self, service_names=None, no_cache=False):
|
def build(self, service_names=None, no_cache=False):
|
||||||
for service in self.get_services(service_names):
|
for service in self.get_services(service_names):
|
||||||
if service.can_be_built():
|
if service.can_be_built():
|
||||||
|
@ -108,6 +108,11 @@ class Service(object):
|
|||||||
log.info("Killing %s..." % c.name)
|
log.info("Killing %s..." % c.name)
|
||||||
c.kill(**options)
|
c.kill(**options)
|
||||||
|
|
||||||
|
def restart(self, **options):
|
||||||
|
for c in self.containers():
|
||||||
|
log.info("Restarting %s..." % c.name)
|
||||||
|
c.restart(**options)
|
||||||
|
|
||||||
def scale(self, desired_num):
|
def scale(self, desired_num):
|
||||||
"""
|
"""
|
||||||
Adjusts the number of containers to the specified number and ensures they are running.
|
Adjusts the number of containers to the specified number and ensures they are running.
|
||||||
|
@ -194,6 +194,22 @@ class CLITestCase(DockerClientTestCase):
|
|||||||
self.command.dispatch(['rm', '--force'], None)
|
self.command.dispatch(['rm', '--force'], None)
|
||||||
self.assertEqual(len(service.containers(stopped=True)), 0)
|
self.assertEqual(len(service.containers(stopped=True)), 0)
|
||||||
|
|
||||||
|
def test_restart(self):
|
||||||
|
service = self.project.get_service('simple')
|
||||||
|
container = service.create_container()
|
||||||
|
service.start_container(container)
|
||||||
|
started_at = container.dictionary['State']['StartedAt']
|
||||||
|
self.command.dispatch(['restart'], None)
|
||||||
|
container.inspect()
|
||||||
|
self.assertNotEqual(
|
||||||
|
container.dictionary['State']['FinishedAt'],
|
||||||
|
'0001-01-01T00:00:00Z',
|
||||||
|
)
|
||||||
|
self.assertNotEqual(
|
||||||
|
container.dictionary['State']['StartedAt'],
|
||||||
|
started_at,
|
||||||
|
)
|
||||||
|
|
||||||
def test_scale(self):
|
def test_scale(self):
|
||||||
project = self.project
|
project = self.project
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user