distribution: Docker push failed: unexpected EOF
# docker push myregistry.com:5000/google_containers/skydns:2015-10-13-8c72f8c
The push refers to a repository [myregistry.com:5000/google_containers/skydns]
5f70bf18a086: Layer already exists
f9b42de57572: Layer already exists
3c35e36d8df2: Layer already exists
5e868bdcb028: Layer already exists
7f02483a9752: Pushing [==================================================>] 2.43 MB/2.43 MB
unexpected EOF
docker/distribution version:
# docker version
Client:
Version: 1.10.1
API version: 1.22
Go version: go1.5.3
Git commit: 9e83765
Built: Thu Feb 11 20:39:58 2016
OS/Arch: linux/amd64
Server:
Version: 1.10.1
API version: 1.22
Go version: go1.5.3
Git commit: 9e83765
Built: Thu Feb 11 20:39:58 2016
OS/Arch: linux/amd64
# bin/registry --version
bin/registry github.com/docker/distribution v2.2.1-79-g93d9070
docker daemon error log:
time="2016-03-28T20:56:54.123551972+08:00" level=error msg="Upload failed, retrying: unexpected EOF"
distribution log:
time="2016-03-28T20:51:57+08:00" level=info msg="response completed" go.version=go1.5.2 http.request.host="10.x.x.x:5000" http.request.id=c0a2fbf8-7549-481c-a4d9-58868e00102a http.request.method=POST http.request.remoteaddr="10.x.x.x:37077"
http.request.uri="/v2/google_containers/skydns/blobs/uploads/" http.request.useragent="docker/1.10.1 go/go1.5.3 git-commit/9e83765 kernel/3.10.83-1-tlinux2-0021.tl1 os/linux arch/amd64" http.response.duration=4.476794ms http.response.status=202 http.response.written=0 instance.id=3fdcab9e-d54e-438a-ab02-97448f1c2bb3 version=v2.2.1-79-g93d9070
10.x.x.x - - [28/Mar/2016:20:51:57 +0800] "POST /v2/google_containers/skydns/blobs/uploads/ HTTP/1.1" 202 0 "" "docker/1.10.1 go/go1.5.3 git-commit/9e83765 kernel/3.10.83 os/linux arch/amd64"
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 25 (6 by maintainers)
I got the same error , my fault was simply that I have a wrong path, ECR repo dosnet’ exist for my case. Check your target repo
@urzds: Unfortunately there’s no direct way to delete a layer. Layers are used by one or more images, and to delete a layer, you have to delete all the images that use it.
The simplest way, if all the images on your machine can be easily replaced, is to clear /var/lib/docker and start over. Otherwise, you’ll need to keep deleting overlapping images until
docker buildactually replaces all the layers in the image. It should be easy to tell if it is creating new layers or not, because it says---> Using cachewhenever it reuses an existing layer.