-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docker 4.12.0 on Windows throws "The pipe has been ended" error #3045
Comments
Exact same thing happens for container.exec_run, only downgrade to earlier version of Docker Desktop fixes it. |
Thanks for reporting! I know what this is. I filed a longer description of the problem here: The TLDR is - attach() uses an HTTP duplex socket. Windows' npipe doesn't implement all the semantics of duplex sockets. So every async networking library has to emulate those semantics on top of npipes, and they all ended up with subtle differences in the implementation, leading to compatibility issues. DD 4.12 has a fix to make this work with libuv. Since docker-py appears to have its own compatibility shim, i think we just need to fix it to not treat a Close() as an error. |
standalone repro:
|
Signed-off-by: Nick Santos <[email protected]>
Signed-off-by: Nick Santos <[email protected]>
Signed-off-by: Nick Santos <[email protected]>
Signed-off-by: Nick Santos <[email protected]>
Fixes #3045 Signed-off-by: Nick Santos <[email protected]>
Please upgrade to 6.0.1, which should fix this issue with recent versions of Docker Desktop. If you still see this error, comment here or create a new issue. |
Works great, updated Docker Desktop to 4.13.1 and my scripts are happy again :) |
Fixes docker/docker-py#3045 Cherry-picked from docker/docker-py@3002298 Co-authored-by: Nick Santos <[email protected]>
* socket: handle npipe close on Windows (docker/docker-py#3056) Fixes docker/docker-py#3045 Cherry-picked from docker/docker-py@3002298 Co-authored-by: Nick Santos <[email protected]> * Add changelog fragment. Co-authored-by: Nick Santos <[email protected]>
Hi team,
We've started to see error messages with Docker Desktop v4.12.0 on Windows. We are attaching to the container by calling
{container_instance}.attach(stream=True, logs=True, demux=True)
and then iterating through the logs streams. This is working fine with earlier versions but it started to throw following error with Docker Desktop v4.12.0.A simplified version of how we are reading the logs;
See related issue here: aws/aws-sam-cli#4222
Thanks!
The text was updated successfully, but these errors were encountered: