diff options
Diffstat (limited to 'docker/api')
-rw-r--r-- | docker/api/build.py | 5 | ||||
-rw-r--r-- | docker/api/client.py | 7 | ||||
-rw-r--r-- | docker/api/container.py | 4 | ||||
-rw-r--r-- | docker/api/exec_api.py | 1 |
4 files changed, 16 insertions, 1 deletions
diff --git a/docker/api/build.py b/docker/api/build.py index 5db5838..0871df8 100644 --- a/docker/api/build.py +++ b/docker/api/build.py @@ -168,8 +168,11 @@ class BuildApiMixin(object): } params.update(container_limits) + final_buildargs = self._proxy_configs.get_environment() if buildargs: - params.update({'buildargs': json.dumps(buildargs)}) + final_buildargs.update(buildargs) + if final_buildargs: + params.update({'buildargs': json.dumps(final_buildargs)}) if shmsize: if utils.version_gte(self._version, '1.22'): diff --git a/docker/api/client.py b/docker/api/client.py index 265dfdc..b12398e 100644 --- a/docker/api/client.py +++ b/docker/api/client.py @@ -34,6 +34,7 @@ from ..transport import SSLAdapter, UnixAdapter from ..utils import utils, check_resource, update_headers, config from ..utils.socket import frames_iter, consume_socket_output, demux_adaptor from ..utils.json_stream import json_stream +from ..utils.proxy import ProxyConfig try: from ..transport import NpipeAdapter except ImportError: @@ -114,6 +115,12 @@ class APIClient( self.headers['User-Agent'] = user_agent self._general_configs = config.load_general_config() + try: + proxies = self._general_configs['proxies']['default'] + except KeyError: + proxies = {} + self._proxy_configs = ProxyConfig.from_dict(proxies) + self._auth_configs = auth.load_config( config_dict=self._general_configs, credstore_env=credstore_env, ) diff --git a/docker/api/container.py b/docker/api/container.py index ab3b1cf..2a80ff7 100644 --- a/docker/api/container.py +++ b/docker/api/container.py @@ -403,6 +403,10 @@ class ContainerApiMixin(object): if isinstance(volumes, six.string_types): volumes = [volumes, ] + if isinstance(environment, dict): + environment = utils.utils.format_environment(environment) + environment = self._proxy_configs.inject_proxy_environment(environment) + config = self.create_container_config( image, command, hostname, user, detach, stdin_open, tty, ports, environment, volumes, diff --git a/docker/api/exec_api.py b/docker/api/exec_api.py index d13b128..0dabdd3 100644 --- a/docker/api/exec_api.py +++ b/docker/api/exec_api.py @@ -50,6 +50,7 @@ class ExecApiMixin(object): if isinstance(environment, dict): environment = utils.utils.format_environment(environment) + environment = self._proxy_configs.inject_proxy_environment(environment) data = { 'Container': container, |