mirror of https://github.com/docker/docker-py.git
Fixed some issues with Client.pull + added auth support if version>=1.5
This commit is contained in:
parent
208fb0366f
commit
60ecc31e61
|
@ -294,17 +294,25 @@ class Client(requests.Session):
|
||||||
|
|
||||||
return f_port
|
return f_port
|
||||||
|
|
||||||
def pull(self, repository, tag=None, registry=None):
|
def pull(self, repository, tag=None):
|
||||||
if repository.count(":") == 1:
|
registry, repo_name = auth.resolve_repository_name(repository)
|
||||||
repository, tag = repository.split(":")
|
if repo_name.count(":") == 1:
|
||||||
|
repository, tag = repository.rsplit(":", 1)
|
||||||
|
|
||||||
params = {
|
params = {
|
||||||
'tag': tag,
|
'tag': tag,
|
||||||
'fromImage': repository,
|
'fromImage': repository
|
||||||
'registry': registry
|
|
||||||
}
|
}
|
||||||
|
headers = {}
|
||||||
|
|
||||||
|
if utils.compare_version('1.5', self._version) >= 0:
|
||||||
|
if getattr(self, '_cfg', None) is None:
|
||||||
|
self._cfg = auth.load_config()
|
||||||
|
authcfg = auth.resolve_authconfig(self._cfg, registry)
|
||||||
|
headers = { 'X-Registry-Auth': auth.encode_header(authcfg) }
|
||||||
|
|
||||||
u = self._url("/images/create")
|
u = self._url("/images/create")
|
||||||
return self._result(self.post(u, None, params=params))
|
return self._result(self.post(u, params=params, headers=headers))
|
||||||
|
|
||||||
def push(self, repository):
|
def push(self, repository):
|
||||||
registry, repository = auth.resolve_repository_name(repository)
|
registry, repository = auth.resolve_repository_name(repository)
|
||||||
|
|
Loading…
Reference in New Issue