docker-archive / docker-registry

This is **DEPRECATED**! Please go to https://github.com/docker/distribution
Apache License 2.0
2.89k stars 877 forks source link

push to private registry fails fails #1035

Open kvashishta opened 8 years ago

kvashishta commented 8 years ago

[root@docker ~]# docker push ldap.kartikv.com:5001/centos5 The push refers to a repository [ldap.kartikv.com:5001/centos5](len: 1) Sending image list Pushing repository ldap.kartikv.com:5001/centos5 (1 tags) 09a12fae6313: Pushing [==================================================>] 1.171 GB/1.171 GB Failed to upload layer: Put https://ldap.kartikv.com:5001/v1/images/09a12fae6313be568e14680741f89b89b840045659445f7af0e712ea35656922/layer: read /var/lib/docker/graph/_tmp/483356772ddcdcf2e2aba0004139d9ff39460fc04a436e3f57db4fb0e80ac46f/753042391: bad file descriptor [root@docker ~]# docker images ldap.kartikv.com:5001/library REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE [root@docker ~]#

dmp42 commented 8 years ago

Can you report this to https://github.com/docker/docker ?

Bad file descriptor points to an engine bug, or some other local filesystem corruption.

mboersma commented 8 years ago

@kvashishta is this with Docker 1.8.3? I see a similar issue pushing to a private V1 registry, but I think it doesn't occur with Docker 1.7.1. See deis/deis#4671.

johanhaleby commented 8 years ago

I'm also experiencing this issue using Docker 1.8.2

stongo commented 8 years ago

Also experiencing this with Docker 1.8.2

ahansson89 commented 8 years ago

Happens in 1.9.1 when pushing to tutum.co

krish7919 commented 8 years ago

Happens with 1.9.1 here too.

melvilgit commented 8 years ago

what is the resolution for this ?

krish7919 commented 8 years ago

Well I am testing the latest registry in this way:

docker run -d -p 5000:5000 --name dckrregistry --restart=always \ -v pwd/data:/var/lib/registry \ -v pwd/auth:/auth \ -v pwd/certs:/certs \ -e "REGISTRY_AUTH=htpasswd" \ -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \ -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \ -e "REGISTRY_HTTP_TLS_CERTIFICATE=/certs/test.example.com.crt" \ -e "REGISTRY_HTTP_TLS_KEY=/certs/test.example.com.key" \ registry:2 One needs to create the htpasswd file & the certificates; I use self-signed ones. I chucked the older registry in favor of the new one. It does the SSL termination & basic authentication. It has worked well so far.

κρισhναν

On Fri, Feb 5, 2016 at 8:38 PM, melvilgit notifications@github.com wrote:

what is the resolution for this ?

— Reply to this email directly or view it on GitHub https://github.com/docker/docker-registry/issues/1035#issuecomment-180393763 .

krish7919 commented 8 years ago

And I think the push fails because of the API changes. If my memory serves right, older one used v1.18 or so, and the new one uses v1.21. You can see the version in the log, when the POST request goes through.

κρισhναν

On Fri, Feb 5, 2016 at 8:53 PM, Krish krishnan.k.iyer@gmail.com wrote:

Well I am testing the latest registry in this way:

docker run -d -p 5000:5000 --name dckrregistry --restart=always \ -v pwd/data:/var/lib/registry \ -v pwd/auth:/auth \ -v pwd/certs:/certs \ -e "REGISTRY_AUTH=htpasswd" \ -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \ -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \ -e "REGISTRY_HTTP_TLS_CERTIFICATE=/certs/test.example.com.crt" \ -e "REGISTRY_HTTP_TLS_KEY=/certs/test.example.com.key" \ registry:2 One needs to create the htpasswd file & the certificates; I use self-signed ones. I chucked the older registry in favor of the new one. It does the SSL termination & basic authentication. It has worked well so far.

κρισhναν

On Fri, Feb 5, 2016 at 8:38 PM, melvilgit notifications@github.com wrote:

what is the resolution for this ?

— Reply to this email directly or view it on GitHub https://github.com/docker/docker-registry/issues/1035#issuecomment-180393763 .

melvilgit commented 8 years ago

iam running in insecure environment. this is the error iam getting. The push refers to a repository [jenkins002.studio.ev1.inmobi.com:5000/myblog](len: 1) Sending image list Pushing repository jenkins002.studio.ev1.inmobi.com:5000/myblog (1 tags) d634beec75db: Image successfully pushed 690ff4b30762: Image successfully pushed 74f102c754ce: Image successfully pushed 01bab1f9d044: Image successfully pushed 367373dfb6e3: Image successfully pushed fcca578b8439: Image successfully pushed 65acc596b170: Image successfully pushed 63c024821ba9: Image successfully pushed e6cde7b59fcd: Pushing [==================================================>] 20 MB/20 MB Failed to upload layer: Put http://jenkins002.studio.ev1.inmobi.com:5000/v1/images/b3e7e8de188321398bf0d53249ca16822c10fe96734780202db0d249cee06652/layer: read /var/lib/docker/graph/_tmp/5881f2f77140d82dbc476f57b7d807372bfe057582e5d11cec5e399e657bc201/044932104: bad file descriptor

melvilgit commented 8 years ago

any idea about why this happens ?