docker-py: ConnectionError: ('Connection aborted.', error(2, 'No such file or directory'))
Attempting to spawn a docker container from within a docker container using docker-py.
OS X, dockerpy-1.10.6
Here is my code (select_device
is a simple, known-good function)
docker_client = docker.from_env()
worker = docker_client.create_container("worker",
environment={'DEVICE':select_device(priority),
'GIT_REPO':git_repo, 'TASK_ID':delegate.request.id})
Here is the trace:
delegation_1 | [2016-12-05 07:39:41,079: INFO/MainProcess] Received task: delegate[e28262d3-1862-456c-ba43-013114fc7dbf]
delegation_1 | [2016-12-05 07:39:43,095: ERROR/PoolWorker-3] Task delegate[e28262d3-1862-456c-ba43-013114fc7dbf] raised unexpected: ConnectionError(ProtocolError('Connection aborted.', error(2, 'No such file or directory')),)
delegation_1 | Traceback (most recent call last):
delegation_1 | File "/usr/local/lib/python2.7/dist-packages/celery/app/trace.py", line 368, in trace_task
delegation_1 | R = retval = fun(*args, **kwargs)
delegation_1 | File "/usr/local/lib/python2.7/dist-packages/celery/app/trace.py", line 623, in __protected_call__
delegation_1 | return self.run(*args, **kwargs)
delegation_1 | File "/opt/app/delegate.py", line 45, in delegate
delegation_1 | 'GIT_REPO':git_repo, 'TASK_ID':delegate.request.id})
delegation_1 | File "/usr/local/lib/python2.7/dist-packages/docker/api/container.py", line 135, in create_container
delegation_1 | return self.create_container_from_config(config, name)
delegation_1 | File "/usr/local/lib/python2.7/dist-packages/docker/api/container.py", line 145, in create_container_from_config
delegation_1 | res = self._post_json(u, data=config, params=params)
delegation_1 | File "/usr/local/lib/python2.7/dist-packages/docker/client.py", line 198, in _post_json
delegation_1 | return self._post(url, data=json.dumps(data2), **kwargs)
delegation_1 | File "/usr/local/lib/python2.7/dist-packages/docker/utils/decorators.py", line 47, in inner
delegation_1 | return f(self, *args, **kwargs)
delegation_1 | File "/usr/local/lib/python2.7/dist-packages/docker/client.py", line 135, in _post
delegation_1 | return self.post(url, **self._set_request_timeout(kwargs))
delegation_1 | File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 535, in post
delegation_1 | return self.request('POST', url, data=data, json=json, **kwargs)
delegation_1 | File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 488, in request
delegation_1 | resp = self.send(prep, **send_kwargs)
delegation_1 | File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 609, in send
delegation_1 | r = adapter.send(request, **kwargs)
delegation_1 | File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 473, in send
delegation_1 | raise ConnectionError(err, request=request)
delegation_1 | ConnectionError: ('Connection aborted.', error(2, 'No such file or directory'))
Am I crazy in thinking I can run docker-py from within a docker container?
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Reactions: 1
- Comments: 15 (2 by maintainers)
If you get No such file or directory, check the docker service is running:
sudo systemctl start docker
If you get Permission denied, make sure your user is added into the “docker” group:
sudo usermod -aG docker ${USER}
No, you’re not. But you have to bind-mount docker socket (if that’s how you access docker daemon) inside the container. Then you’re fine.
The error here means that
/run/docker.sock
doesn’t exist.Hey guys,
I tried to mount volume for docker.sock and i got this error:
requests.exceptions.ConnectionError: ('Connection aborted.', error(111, 'Connection refused'))
Instead
No such file or directory
now i’m gettingConnection refused
Perhaps it’s a permission problem, someone got this problem after mounted volume?