Description
Description
Since updating to 28.0.0, I'm getting a lot of "unexpected EOF" errors when bringing up a series of containers.
Unfortunately this seems to happen at random, so there's no safe reproducer. The connection is fast and reliable, there is likely no massive timeout involved.
I've seen it happening both with docker pull
and docker compose up
while pulling layers.
Setting "max-download-attempts": 5000
(or even more ridiculous values) in /etc/docker/daemon.json
doesn't fix it; chances are that since the error is something other than connection timed out
or so, docker doesn't recognize this as a download failure and therefore doesn't make another download attempt.
[+] Running 12/14
⠙ dashboard [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿] 6.277MB / 6.277MB Pulling 6.1s
✔ 804c8aba2cc6 Already exists 0.0s
✔ 2ae710cd8bfe Already exists 0.0s
✔ d462aa345367 Already exists 0.0s
✔ 0f8b424aa0b9 Already exists 0.0s
✔ d557676654e5 Already exists 0.0s
✔ c8022d07192e Already exists 0.0s
✔ d858cbc252ad Already exists 0.0s
✔ 1069fc2daed1 Already exists 0.0s
✔ b40161cd83fc Pull complete 0.5s
✔ 5318d93a3a65 Pull complete 0.5s
✔ 307c1adadb60 Pull complete 3.1s
⠧ 258b5bb46f9a Extracting [==================================================>] 5.791MB/5.791MB 4.8s
✔ 51fea5d3cd54 Download complete 2.2s
unexpected EOF
exit status 1
Simply running the same docker pull or docker compose command again "fixes" it most of the time (and when it doesn't, surely running it a third or fourth time does).
Reproduce
- "docker pull" a container, preferrable one with many layers
- If it succeeds, try again, at some point it will result in "unexpected EOF"
Expected behavior
it works
docker version
Client:
Version: 28.0.0
API version: 1.48
Go version: go1.24.0
Git commit:
Built: Thu Feb 20 22:16:09 2025
OS/Arch: linux/amd64
Context: default
Server:
Engine:
Version: 28.0.0
API version: 1.48 (minimum version 1.24)
Go version: go1.24.0
Git commit: b0f5bc3
Built: Thu Feb 20 22:15:42 2025
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 2.0.2
GitCommit: .m
runc:
Version: 1.20 [crun]
GitCommit: 1.20-1
docker-init:
Version: 0.19.0
GitCommit:
docker info
Client:
Version: 28.0.0
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: 0.21.0
Path: /usr/libexec/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: 2.33.0
Path: /usr/libexec/docker/cli-plugins/docker-compose
Server:
Containers: 9
Running: 9
Paused: 0
Stopped: 0
Images: 10
Server Version: 28.0.0
Storage Driver: btrfs
Btrfs:
Logging Driver: json-file
Cgroup Driver: systemd
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: .m
runc version: 1.20-1 [crun]
init version:
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.13.3-server-1omv2590
Operating System: OpenMandriva Lx 25.90 (Nickel) Cooker
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.26GiB
Name: updatetestamd.federatedcomputer.net
ID: 5419e1b8-b71b-4351-9772-dc2646c8cd39
Docker Root Dir: /federated/docker
Debug Mode: false
Username: *******
Experimental: false
Insecure Registries:
::1/128
127.0.0.0/8
Live Restore Enabled: false
Additional Info
No response