docker / hub-feedback

Feedback and bug reports for the Docker Hub
https://hub.docker.com
232 stars 40 forks source link

registry.hub.docker.com endpoint doesn't work #2113

Closed PavloZabudskyi closed 2 years ago

PavloZabudskyi commented 3 years ago

Problem description

We can't pull/push to registry.hub.docker.com anymore. Was it deprecated? There are only registry-1.docker.io and registry.docker.io at https://status.docker.com/ mentioned

error parsing HTTP 404 response body: invalid character '<' looking for beginning of value: "<!doctype html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"utf-8\">\n    <title>404 : Docker</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <style>\n    * {\n        line-height: 1.2;\n        margin: 0;\n    }\n\n    html {\n        color: #71859d;\n        display: table;\n        height: 100%;\n        text-align: center;\n        width: 100%;\n    }\n\n    body {\n        background: #fff;\n        display: table-cell;\n        font-family: \"HelveticaNeue-Light\", \"Helvetica Neue Light\", \"Helvetica Neue\", Helvetica, Arial, \"Lucida Grande\", sans-serif;\n        font-weight: 300;\n        margin: 2em auto;\n        vertical-align: middle;\n    }\n\n    a {\n        color: #22b8eb;\n        text-decoration: none;\n    }\n\n\n    @media only screen and (max-width: 280px) {\n        body,\n        p {\n            width: 95%;\n        }\n    }\n\n    #message {\n        font-size: 21px;\n        text-align: center;\n        animation: fadein 2s;\n        -moz-animation: fadein 2s;\n        /* Firefox */\n        -webkit-animation: fadein 2s;\n        /* Safari and Chrome */\n        -o-animation: fadein 2s;\n        /* Opera */\n    }\n\n    @keyframes fadein {\n        from {\n            opacity: 0;\n        }\n        to {\n            opacity: 1;\n        }\n    }\n\n    @-moz-keyframes fadein {\n        /* Firefox */\n        from {\n            opacity: 0;\n        }\n        to {\n            opacity: 1;\n        }\n    }\n\n    @-webkit-keyframes fadein {\n        /* Safari and Chrome */\n        from {\n            opacity: 0;\n        }\n        to {\n            opacity: 1;\n        }\n    }\n\n    @-o-keyframes fadein {\n        /* Opera */\n        from {\n            opacity: 0;\n        }\n        to {\n            opacity: 1;\n        }\n    }\n\n    </style>\n</head>\n<body>\n    <div id=\"message\">\n      <img  src=\" data:image/png;....
andscho-msft commented 3 years ago

registry.hub.docker.com is returning 301 which redirects to hub.docker.com which then returns 404 and HTML responses.

ingshtrom commented 3 years ago

This is being investigated. It is recommended that you use registry-1.docker.io to pull/push images from/to Docker Hub and hub.docker.com to reach the UI/non-registry-api parts of Docker Hub, but I don't think we provided an official deprecation notice.

We will fix it for now, but I suggest switching to the domains I mentioned above.

I will let you know once it is fixed.

mkrakowitzer commented 3 years ago

switching to registry-1.docker.io is still giving us 404s when pulling images from our private registry.

edit: private image, not private registry.

adam-lebon commented 3 years ago

According to docker info, the default registry used by the docker client is index.docker.io

What are the differences with registry-1.docker.io ?

Callumccr commented 3 years ago

Can confirm that both registry-1.docker.io and docker.io are working for private registries for push/pull from/to Docker Hub in Kubernetes with an updated docker-registry secret that points to the new server for imagePullSecrets

ingshtrom commented 3 years ago

Status Update

Everything looks to be working properly. We did a full rollback as of 13:40 UTC today, so we are at the same state we were at about 24 hours ago.

Docker Pulls working ``` ⛵ docker-desktop in ~ on ☁️ default ❯ docker pull alpine:latest latest: Pulling from library/alpine 5843afab3874: Pull complete Digest: sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 Status: Downloaded newer image for alpine:latest docker.io/library/alpine:latest ⛵ docker-desktop in ~ on ☁️ default ❯ docker image rm alpine:latest Untagged: alpine:latest Untagged: alpine@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 Deleted: sha256:d4ff818577bc193b309b355b02ebc9220427090057b54a59e73b79bdfe139b83 Deleted: sha256:72e830a4dff5f0d5225cdc0a320e85ab1ce06ea5673acfe8d83a7645cbd0e9cf ⛵ docker-desktop in ~ on ☁️ default ❯ docker pull registry-1.docker.io/library/alpine:latest latest: Pulling from library/alpine 5843afab3874: Pull complete Digest: sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 Status: Downloaded newer image for registry-1.docker.io/library/alpine:latest registry-1.docker.io/library/alpine:latest ⛵ docker-desktop in ~ on ☁️ default ❯ docker image rm registry-1.docker.io/library/alpine:latest Untagged: registry-1.docker.io/library/alpine:latest Untagged: registry-1.docker.io/library/alpine@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 Deleted: sha256:d4ff818577bc193b309b355b02ebc9220427090057b54a59e73b79bdfe139b83 Deleted: sha256:72e830a4dff5f0d5225cdc0a320e85ab1ce06ea5673acfe8d83a7645cbd0e9cf ⛵ docker-desktop in ~ on ☁️ default ❯ docker pull registry.hub.docker.com/library/alpine:latest latest: Pulling from library/alpine 5843afab3874: Pull complete Digest: sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 Status: Downloaded newer image for registry.hub.docker.com/library/alpine:latest registry.hub.docker.com/library/alpine:latest ⛵ docker-desktop in ~ on ☁️ default ❯ docker image rm registry.hub.docker.com/library/alpine:latest Untagged: registry.hub.docker.com/library/alpine:latest Untagged: registry.hub.docker.com/library/alpine@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 Deleted: sha256:d4ff818577bc193b309b355b02ebc9220427090057b54a59e73b79bdfe139b83 Deleted: sha256:72e830a4dff5f0d5225cdc0a320e85ab1ce06ea5673acfe8d83a7645cbd0e9cf ⛵ docker-desktop in ~ on ☁️ default ❯ docker pull index.docker.io/library/alpine:latest latest: Pulling from library/alpine 5843afab3874: Pull complete Digest: sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 Status: Downloaded newer image for alpine:latest docker.io/library/alpine:latest ```

@mkrakowitzer When you say private registry, do you mean a private image on Docker Hub? If you are truly pulling from a private registry, then you will want to use the URL of that registry, but none of the stuff in this issue should be affecting you, unless you are using it as a pull-through cache for Docker Hub.

@adam-lebon they all point to the same backend services, so really it is only a difference in the hostname which has occurred over many years of changes (much of which predates me). I will inquire further with the corresponding teams as to which hostname is correct and if it isn't index.docker.io, why the engine defaults to that.

@Callumccr thank you, it is good news to see if validated from others as well.

Thank you all, please report if there are any other issues and please include any errors or specific commands you are using to reproduce it.

elesel commented 3 years ago

Should we look at switching to registry-1.docker.io as a temporary workaround or is that the long-term solution?

Callumccr commented 3 years ago

Should we look at switching to registry-1.docker.io as a temporary workaround or is that the long-term solution?

+1 on this, will there be a deprecation notice in the future?

andscho-msft commented 3 years ago

We are making an API call like HEAD /v2/<name>/manifests/<reference>. What is the best-practice FQDN for that API call?

ingshtrom commented 3 years ago

The recommended hostname to be used to hit the Docker Hub registry is registry-1.docker.io and the recommended hostname to hit Docker Hub UI is hub.docker.com. I said legacy in some posts around the Internet, but I realize these were based off of passed down knowledge throughout the years at Docker without being documented. Thus all hostnames are still valid, but we will be looking to officially document the correct hostnames to be using for all of our products soon. Any deprecation (I'm not saying it's happening, but if it happens) will be communicated through our official channels well in advance likely along with brownout periods.

Sorry for the confusion and inconvenience.

@andscho-msft that would be registry-1.docker.io as that is a request directly to the Docker Hub registry.