-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Description
Docker Desktop consistently fails to pull images from Docker Hub with a "short read: expected X bytes but got Y: unexpected EOF" error. This occurs across multiple image pulls and persists after attempting all standard troubleshooting steps.
Steps to reproduce
- Run
docker compose buildordocker pull python:3.12-slim-bookworm - Docker attempts to pull image metadata from Docker Hub
- Connection is interrupted mid-download
- Error: "short read: expected 5711 bytes but got 4588: unexpected EOF"
Expected behavior
Docker should successfully pull images from Docker Hub, even when behind a corporate proxy. The connection should handle network interruptions gracefully and retry automatically.
Actual behavior
Docker consistently fails to pull images with a "short read" error, indicating the connection is being interrupted or corrupted during the metadata download phase.
Environment
- OS: macOS 25.1.0 (Darwin)
- Docker Desktop Version: 29.1.3
- Docker Compose Version: 5.0.0-desktop.1
- Buildx Version: 0.30.1-desktop.1
- Network: Corporate network behind Zscaler proxy (auto-configured via PAC file)
Error Message
failed to solve: python:3.12-slim-bookworm: failed to resolve source metadata for docker.io/library/python:3.12-slim-bookworm: short read: expected 5711 bytes but got 4588: unexpected EOF
Troubleshooting Steps Attempted
✅ Network/Proxy Configuration
- Configured Docker Desktop proxy settings (Manual and System proxy)
- Verified Zscaler local proxy at
127.0.0.1:9000 - Set HTTP_PROXY and HTTPS_PROXY environment variables
- Added proxy build arguments to docker-compose.yml
- Verified network connectivity (internet works fine)
- Tested with different proxy configurations
✅ Docker Desktop Restart/Reset
- Quit and restarted Docker Desktop multiple times
- Performed full Docker Desktop reset (factory defaults)
- Cleared all Docker caches (
docker system prune -af) - Cleared build cache (
docker builder prune -af) - Removed corrupted socket files
✅ Storage/Corruption Fixes
- Cleared Docker storage corruption
- Removed corrupted image layers
- Verified disk space (293GB available)
- Checked Docker daemon logs for additional errors
✅ Alternative Approaches
- Tried pulling different images (same error)
- Attempted with different base images
- Tested with
docker pull hello-world(same error pattern) - Verified Docker Hub connectivity from browser (works fine)
✅ System Checks
- Verified Docker Desktop is running and responsive
- Confirmed Docker daemon is healthy (
docker infoworks) - Checked system proxy settings (auto-configured via PAC)
- Verified Zscaler client is running and connected
Additional Context
Network Environment:
- Corporate network with Zscaler proxy
- Auto-proxy configuration via PAC file:
http://127.0.0.1:9000/localproxy-*.pac - System proxy shows: Auto Proxy URL enabled
- Direct proxy settings: Not manually configured (Zscaler handles automatically)
Error Pattern:
- Expected bytes: ~5700-5800 range
- Actual bytes received: ~4500-4600 range
- Always ~1000-1200 bytes short
- Occurs during metadata resolution phase (not during layer download)
- 100% reproducible failure rate
Questions:
- Is this a known issue with Docker Desktop 29.1.3 and corporate proxies?
- Are there specific proxy configurations required for Zscaler?
- Should Docker handle network interruptions more gracefully with automatic retries?
- Is there a way to increase timeout/retry settings for image pulls?
- Could this be related to the content-addressable storage system?
Note: This issue is blocking all Docker operations that require pulling images from Docker Hub. All standard troubleshooting steps have been exhausted without resolution.