Hey seems like you released a new minor version 2 hours ago and it has a bug in it.
>>> from testcontainers.mssql import DbContainer, SqlServerContainer
Traceback (most recent call last):
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen
response = self._make_request(
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 493, in _make_request
conn.request(
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/urllib3/connection.py", line 445, in request
self.endheaders()
File "/home/bartek/.local/share/uv/python/cpython-3.10.8-linux-x86_64-gnu/lib/python3.10/http/client.py", line 1277, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/home/bartek/.local/share/uv/python/cpython-3.10.8-linux-x86_64-gnu/lib/python3.10/http/client.py", line 1037, in _send_output
self.send(msg)
File "/home/bartek/.local/share/uv/python/cpython-3.10.8-linux-x86_64-gnu/lib/python3.10/http/client.py", line 975, in send
self.connect()
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/docker/transport/unixconn.py", line 26, in connect
sock.connect(self.unix_socket)
FileNotFoundError: [Errno 2] No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/requests/adapters.py", line 667, in send
resp = conn.urlopen(
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 841, in urlopen
retries = retries.increment(
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/urllib3/util/retry.py", line 474, in increment
raise reraise(type(error), error, _stacktrace)
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/urllib3/util/util.py", line 38, in reraise
raise value.with_traceback(tb)
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen
response = self._make_request(
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 493, in _make_request
conn.request(
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/urllib3/connection.py", line 445, in request
self.endheaders()
File "/home/bartek/.local/share/uv/python/cpython-3.10.8-linux-x86_64-gnu/lib/python3.10/http/client.py", line 1277, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/home/bartek/.local/share/uv/python/cpython-3.10.8-linux-x86_64-gnu/lib/python3.10/http/client.py", line 1037, in _send_output
self.send(msg)
File "/home/bartek/.local/share/uv/python/cpython-3.10.8-linux-x86_64-gnu/lib/python3.10/http/client.py", line 975, in send
self.connect()
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/docker/transport/unixconn.py", line 26, in connect
sock.connect(self.unix_socket)
urllib3.exceptions.ProtocolError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/docker/api/client.py", line 223, in _retrieve_server_version
return self.version(api_version=False)["ApiVersion"]
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/docker/api/daemon.py", line 181, in version
return self._result(self._get(url), json=True)
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/docker/utils/decorators.py", line 44, in inner
return f(self, *args, **kwargs)
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/docker/api/client.py", line 246, in _get
return self.get(url, **self._set_request_timeout(kwargs))
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/requests/sessions.py", line 602, in get
return self.request("GET", url, **kwargs)
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/requests/adapters.py", line 682, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/testcontainers/mssql/__init__.py", line 4, in <module>
from testcontainers.core.generic import DbContainer
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/testcontainers/core/generic.py", line 16, in <module>
from testcontainers.core.container import DockerContainer
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/testcontainers/core/container.py", line 12, in <module>
from testcontainers.core.config import ConnectionMode
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/testcontainers/core/config.py", line 52, in <module>
RYUK_DOCKER_SOCKET: str = get_docker_socket()
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/testcontainers/core/config.py", line 36, in get_docker_socket
client = docker.from_env()
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/docker/client.py", line 94, in from_env
return cls(
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/docker/client.py", line 45, in __init__
self.api = APIClient(*args, **kwargs)
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/docker/api/client.py", line 207, in __init__
self._version = self._retrieve_server_version()
File "/home/bartek/projects/US/framework/.venv/lib/python3.10/site-packages/docker/api/client.py", line 230, in _retrieve_server_version
raise DockerException(
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
(bartek) ➜ ~ git:(main) ✗ uv pip list
Package Version
------------------ ---------
certifi 2025.6.15
charset-normalizer 3.4.2
docker 7.1.0
idna 3.10
python-dotenv 1.1.0
requests 2.32.4
testcontainers 4.11.0
typing-extensions 4.14.0
urllib3 2.4.0
wrapt 1.17.2
Describe the bug
Hey seems like you released a new minor version 2 hours ago and it has a bug in it.
Bug: Testcontainer fails to fetch server api version on 4.11 but works on 4.10
To Reproduce
Install version 4.11 and try to run the
from testcontainers.mssql import DbContainer, SqlServerContainerRuntime environment
Ubuntu, python 3.10.8
EDIT:
I took a dig myself to try to find the culprit
kudos to @chbndrhnns to realizing it connects
4.10
testcontainers/core/config.py: 34RYUK_DOCKER_SOCKET: str = environ.get("TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE", "/var/run/docker.sock")4.11
testcontainers/core/config.py:52RYUK_DOCKER_SOCKET: str = get_docker_socket()Where the
get_docker_socketconnects