adding "fig pull [SERVICE]" to pull service images

Fixes #158

Signed-off-by: Luke Amdor <luke.amdor@gmail.com>
This commit is contained in:
Luke Amdor 2014-08-15 09:21:41 -05:00
commit e51851c884
4 changed files with 24 additions and 1 deletions

View file

@ -85,6 +85,7 @@ class TopLevelCommand(Command):
kill Kill containers
logs View output from containers
ps List containers
pull Pulls service images
rm Remove stopped containers
run Run a one-off command
scale Set number of containers for a service
@ -182,6 +183,14 @@ class TopLevelCommand(Command):
])
print(Formatter().table(headers, rows))
def pull(self, project, options):
"""
Pulls images for services.
Usage: pull [SERVICE...]
"""
project.pull(service_names=options['SERVICE'])
def rm(self, project, options):
"""
Remove stopped service containers.

View file

@ -176,6 +176,10 @@ class Project(object):
return running_containers
def pull(self, service_names=None):
for service in self.get_services(service_names, include_links=True):
service.pull()
def remove_stopped(self, service_names=None, **options):
for service in self.get_services(service_names):
service.remove_stopped(**options)

View file

@ -401,6 +401,11 @@ class Service(object):
return False
return True
def pull(self):
if 'image' in self.options:
log.info('Pulling %s (%s)...' % (self.name, self.options.get('image')))
self.client.pull(self.options.get('image'))
NAME_RE = re.compile(r'^([^_]+)_([^_]+)_(run_)?(\d+)$')