docker / docker/cli

docker image push retry mechanism

Open
#5,275 16 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/distribution kind/bug status/0-triage status/more-info-needed version/27.0
Dominant language
Go
Stars
6.1k
Forks
2.2k
Avg merge
1d 15h
Merged PRs (30d)
43

Description

Description

A couple of months ago, I observed that Docker had a built-in retry mechanism for docker push operations, which was beneficial in handling intermittent network issues or transient errors during image pushes. However, recently I noticed that this functionality seems to be either altered or unavailable.

Could you please provide clarification on the following points:

Has there been any recent update or change to the retry mechanism in Docker image pushing operations?
If the retry mechanism has been modified or removed, what is the reason behind this change?
Are there any alternative recommendations or best practices for managing retry behavior during Docker image pushes?
I appreciate any insights or information you can provide on this matter. If possible, I would also like to understand if there are plans to reintroduce or enhance retry capabilities in future Docker releases.

Reproduce

docker push : a

Expected behavior

docker should retry 5 times before exiting with an error.

docker version
ocker version                                                        
Client:
 Version:           27.0.3
 API version:       1.46
 Go version:        go1.21.11
 Git commit:        7d4bcd8
 Built:             Fri Jun 28 23:59:41 2024
 OS/Arch:           darwin/amd64
 Context:           desktop-linux

Server: Docker Desktop 4.32.0 (157355)
 Engine:
  Version:          27.0.3
  API version:      1.46 (minimum version 1.24)
  Go version:       go1.21.11
  Git commit:       662f78c
  Built:            Sat Jun 29 00:02:50 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.7.18
  GitCommit:        ae71819c4f5e67bb4d5ae76a6b735f29cc25774e
 runc:
  Version:          1.7.18
  GitCommit:        v1.1.13-0-g58aa920
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
docker info
N/A
Additional Info

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the reported behavior with the docker push command and the provided Docker 27.0.3 environment, then trace where push retry behavior is handled in the CLI. Compare the observed behavior with the expected five retries and document whether the change is intentional; done means the behavior and any recommendation or required change are clearly established.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.