The error I was getting on executing container.exec_run() method, when upgraded to Docker Desktop 4.12.0:
out = self.container.exec_run(command, user=user, demux=demux, environment=environment, workdir=workdir)
File "C:test-projbuild_enlibsite-packagesdockermodelscontainers.py", line 198, in exec_run
exec_output = self.client.api.exec_start(
File "C:test-projbuild_enlibsite-packagesdockerutilsdecorators.py", line 19, in wrapped
return f(self, resource_id, *args, **kwargs)
File "C:test-projbuild_enlibsite-packagesdockerapiexec_api.py", line 169, in exec_start
return self._read_from_socket(res, stream, tty=tty, demux=demux)
File "C:test-projbuild_enlibsite-packagesdockerapiclient.py", line 413, in read_from_socket
return consume_socket_output(gen, demux=demux)
File "C:test-projbuild_enlibsite-packagesdockerutilssocket.py", line 137, in consume_socket_output
return six.binary_type().join(frames)
File "C:test-projbuild_enlibsite-packagesdockerapiclient.py", line 407, in
gen = (data for (, data) in gen)
File "C:test-projbuild_enlibsite-packagesdockerutilssocket.py", line 94, in frames_iter_no_tty
(stream, n) = next_frame_header(socket)
File "C:test-projbuild_enlibsite-packagesdockerutilssocket.py", line 66, in next_frame_header
data = read_exactly(socket, 8)
File "C:test-projbuild_enlibsite-packagesdockerutilssocket.py", line 51, in read_exactly
next_data = read(socket, n – len(data))
File "C:test-projbuild_enlibsite-packagesdockerutilssocket.py", line 35, in read
return socket.recv(n)
File "C:test-projbuild_enlibsite-packagesdockertransportnpipesocket.py", line 23, in wrapped
return f(self, *args, **kwargs)
File "C:test-projbuild_enlibsite-packagesdockertransportnpipesocket.py", line 117, in recv
err, data = win32file.ReadFile(self._handle, bufsize)
pywintypes.error: (109, ‘ReadFile’, ‘The pipe has been ended.’)
2
Answers
Figured out the problem - it seems is due to the latest docker desktop installed. If I downgrade from 4.12.0 to 4.11.1, error no more appears.
For downgrading, I've uninstalled from control panel and installed the 4.11.1 version downloading from https://docs.docker.com/desktop/release-notes/#docker-desktop-4111
For me the issues were resolved with the release of python docker SDK 6.0.1
https://github.com/docker/docker-py/releases/tag/6.0.1
After upgrading to this version the issue was resolved.
Everything now works with docker 4.13.1