summaryrefslogtreecommitdiff
path: root/docker/api
diff options
context:
space:
mode:
Diffstat (limited to 'docker/api')
-rw-r--r--docker/api/build.py5
-rw-r--r--docker/api/client.py7
-rw-r--r--docker/api/container.py4
-rw-r--r--docker/api/exec_api.py1
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,