docker_client.py 765 B

123456789101112131415161718192021222324252627
  1. from __future__ import absolute_import
  2. from __future__ import unicode_literals
  3. import logging
  4. import os
  5. from docker import Client
  6. from docker.utils import kwargs_from_env
  7. from ..const import HTTP_TIMEOUT
  8. log = logging.getLogger(__name__)
  9. def docker_client(version=None):
  10. """
  11. Returns a docker-py client configured using environment variables
  12. according to the same logic as the official Docker client.
  13. """
  14. if 'DOCKER_CLIENT_TIMEOUT' in os.environ:
  15. log.warn('The DOCKER_CLIENT_TIMEOUT environment variable is deprecated. Please use COMPOSE_HTTP_TIMEOUT instead.')
  16. kwargs = kwargs_from_env(assert_hostname=False)
  17. if version:
  18. kwargs['version'] = version
  19. kwargs['timeout'] = HTTP_TIMEOUT
  20. return Client(**kwargs)