diff --git a/docker/auth/auth.py b/docker/auth/auth.py index d69c0350..373df565 100644 --- a/docker/auth/auth.py +++ b/docker/auth/auth.py @@ -29,7 +29,7 @@ DOCKER_CONFIG_FILENAME = '.dockercfg' def expand_registry_url(hostname, insecure=False): if hostname.startswith('http:') or hostname.startswith('https:'): return hostname - if utils.ping('https://' + hostname + '/v1/_ping'): + if utils.ping_registry('https://' + hostname): return 'https://' + hostname elif insecure: return 'http://' + hostname diff --git a/docker/utils/__init__.py b/docker/utils/__init__.py index 07313621..0c5934f5 100644 --- a/docker/utils/__init__.py +++ b/docker/utils/__init__.py @@ -1,6 +1,6 @@ from .utils import ( compare_version, convert_port_bindings, convert_volume_binds, - mkbuildcontext, ping, tar, parse_repository_tag, parse_host, + mkbuildcontext, tar, parse_repository_tag, parse_host, kwargs_from_env, convert_filters, create_host_config, - create_container_config, parse_bytes + create_container_config, parse_bytes, ping_registry ) # flake8: noqa diff --git a/docker/utils/utils.py b/docker/utils/utils.py index cccb9706..5c729a0b 100644 --- a/docker/utils/utils.py +++ b/docker/utils/utils.py @@ -118,6 +118,10 @@ def compare_version(v1, v2): return 1 +def ping_registry(url): + return ping(url + '/v2/_ping') or ping(url + '/v1/_ping') + + def ping(url): try: res = requests.get(url, timeout=3)