-
Notifications
You must be signed in to change notification settings - Fork 85
Description
- This is a bug report
- This is a feature request
- I searched existing issues before opening this one
Expected behavior
When a first attempt to docker pull
an image fails after it has partial downloaded some data, a subsequent attempt should not start from scratch but resume the download from wherever the previous attempt failed. This way, when downloading an image that is large relative to network reliability, there is a high-enough probability of docker pull
succeeding within a reasonable number of attempts.
Actual behavior
Subsequent docker pull
attempts start from scratch even if a previous attempt has "pull complete" for some layers. This means that for a large image and an intermittently failing connection, the chance of docker pull
completing within a reasonable number of tries approaches zero as the image size increases. Consequently, this behavior can be considered to be a usability bug.
$ docker pull xilinx/vitis-ai:latest
latest: Pulling from xilinx/vitis-ai
f22ccc0b8772: Pull complete
3cf8fb62ba5f: Pull complete
e80c964ece6a: Pull complete
afd3e84ff233: Pull complete
caba11bf89c1: Pull complete
21ff7ffad7fb: Pull complete
0a1fb73e7f8f: Pull complete
b700632d3b49: Pull complete
f32b167b0bc9: Pull complete
d5dca61bcafa: Pull complete
bb15414437e3: Pull complete
e73de575fa84: Pull complete
b1a14839c8e3: Pull complete
75052f7c411f: Pull complete
e6c777df29dc: Pull complete
741b871f4d0b: Pull complete
bd09e2cec15d: Pull complete
49359a403f15: Pull complete
3dc515bfbb5a: Pull complete
705cf80df2f3: Pull complete
53d1bd56d0d4: Pull complete
d2572bf03a3f: Pull complete
c970ce782924: Pull complete
b18006f4f833: Pull complete
7dc2ec620aa4: Pull complete
31cda23c4bce: Pull complete
c4a6256a9c1b: Downloading [==================================================>] 3.801GB/3.801GB
b0190525f152: Download complete
b44b92ba8003: Download complete
ab4ebe064c35: Download complete
unexpected EOF
$ docker pull xilinx/vitis-ai:latest
latest: Pulling from xilinx/vitis-ai
f22ccc0b8772: Downloading [======================================> ] 20.56MB/26.71MB
...
Steps to reproduce the behavior
docker pull xilinx/vitis-ai:latest
- Ctrl-C after download finishes for some layer (simulating network failure).
docker pull xilinx/vitis-ai:latest
and see that it starts from scratch.
Output of docker version
:
$ docker version
Client:
Version: 19.03.8
API version: 1.40
Go version: go1.13.8
Git commit: afacb8b7f0
Built: Wed Oct 14 19:43:43 2020
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.13.8
Git commit: afacb8b7f0
Built: Wed Oct 14 16:41:21 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.3.3-0ubuntu2
GitCommit:
runc:
Version: spec: 1.0.1-dev
GitCommit:
docker-init:
Version: 0.18.0
GitCommit:
Output of docker info
:
Client:
Debug Mode: false
Server:
Containers: 3
Running: 0
Paused: 0
Stopped: 3
Images: 43
Server Version: 19.03.8
Storage Driver: overlay2
Backing Filesystem: <unknown>
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version:
runc version:
init version:
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 5.4.0-47-generic
Operating System: Ubuntu 20.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 31.29GiB
Name: frodo
ID: KMLP:N2DN:SFDB:3AH4:ATYJ:6TUE:JKWM:SNY5:MHPT:LTG4:KJIW:CGWE
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: No swap limit support
Additional environment details (AWS, VirtualBox, physical, etc.)
Ubuntu 20.04.1 LTS