diff --git a/fig/cli/main.py b/fig/cli/main.py index 36ae62524..ed44e5c31 100644 --- a/fig/cli/main.py +++ b/fig/cli/main.py @@ -213,9 +213,17 @@ class TopLevelCommand(Command): """ Pulls images for services. - Usage: pull [SERVICE...] + Usage: pull [options] [SERVICE...] + + Options: + --allow-insecure-ssl Allow insecure connections to the docker + registry """ - project.pull(service_names=options['SERVICE']) + insecure_registry = options['--allow-insecure-ssl'] + project.pull( + service_names=options['SERVICE'], + insecure_registry=insecure_registry + ) def rm(self, project, options): """ diff --git a/fig/project.py b/fig/project.py index 6ef6a7c52..38b9f46fc 100644 --- a/fig/project.py +++ b/fig/project.py @@ -180,9 +180,9 @@ class Project(object): return running_containers - def pull(self, service_names=None): + def pull(self, service_names=None, insecure_registry=False): for service in self.get_services(service_names, include_links=True): - service.pull() + service.pull(insecure_registry=insecure_registry) def remove_stopped(self, service_names=None, **options): for service in self.get_services(service_names): diff --git a/fig/service.py b/fig/service.py index e0b34591e..aebcff388 100644 --- a/fig/service.py +++ b/fig/service.py @@ -413,10 +413,13 @@ class Service(object): return False return True - def pull(self): + def pull(self, insecure_registry=False): if 'image' in self.options: log.info('Pulling %s (%s)...' % (self.name, self.options.get('image'))) - self.client.pull(self.options.get('image')) + self.client.pull( + self.options.get('image'), + insecure_registry=insecure_registry + ) NAME_RE = re.compile(r'^([^_]+)_([^_]+)_(run_)?(\d+)$')