Skip to content

Commit 1f55a60

Browse files
authored
Merge branch 'master' into override-strategy
2 parents c8a91c1 + 1d03baa commit 1f55a60

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

compose/cli/docker_client.py

+6
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from docker.utils import kwargs_from_env
1010

1111
from ..const import HTTP_TIMEOUT
12+
from ..const import IS_WINDOWS_PLATFORM
1213
from .errors import UserError
1314
from .utils import generate_user_agent
1415
from .utils import unquote_path
@@ -71,4 +72,9 @@ def docker_client(environment, version=None, tls_config=None, host=None,
7172

7273
kwargs['user_agent'] = generate_user_agent()
7374

75+
if 'base_url' not in kwargs and IS_WINDOWS_PLATFORM:
76+
# docker-py 1.10 defaults to using npipes, but we don't want that
77+
# change in compose yet - use the default TCP connection instead.
78+
kwargs['base_url'] = 'tcp://127.0.0.1:2375'
79+
7480
return Client(**kwargs)

tests/unit/cli/docker_client_test.py

+8
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,14 @@ def test_user_agent(self):
6060
)
6161
self.assertEqual(client.headers['User-Agent'], expected)
6262

63+
@mock.patch.dict(os.environ)
64+
def test_docker_client_default_windows_host(self):
65+
with mock.patch('compose.cli.docker_client.IS_WINDOWS_PLATFORM', True):
66+
if 'DOCKER_HOST' in os.environ:
67+
del os.environ['DOCKER_HOST']
68+
client = docker_client(os.environ)
69+
assert client.base_url == 'http://127.0.0.1:2375'
70+
6371

6472
class TLSConfigTestCase(unittest.TestCase):
6573
ca_cert = 'tests/fixtures/tls/ca.pem'

0 commit comments

Comments
 (0)