浏览代码

Allow pulls from an insecure registry

Signed-off-by: Jason Bernardino Alonso <[email protected]>
Jason Bernardino Alonso 11 年之前
父节点
当前提交
1c5194e2ec
共有 3 个文件被更改,包括 17 次插入6 次删除
  1. 10 2
      fig/cli/main.py
  2. 2 2
      fig/project.py
  3. 5 2
      fig/service.py

+ 10 - 2
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):
         """

+ 2 - 2
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):

+ 5 - 2
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+)$')