Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dockerhub rate limiting #371

Closed
kcawley opened this issue Dec 4, 2020 · 3 comments · Fixed by #456
Closed

dockerhub rate limiting #371

kcawley opened this issue Dec 4, 2020 · 3 comments · Fixed by #456
Labels
enhancement New feature or request

Comments

@kcawley
Copy link

kcawley commented Dec 4, 2020

We are currently using quay.io to handle docker containers built off of rocker/r-ver:3.6.0 (our container requires the libgfortran3 library or we would have updated to >4.0). We're running into an issue with the docker hub pull rate limits that started at the end of November. I see a (defunct?) repository on quay.io called rocker (https://quay.io/repository/rocker/r-ver). Is this associated with the group that maintains this GitHub repository? If so, it would be a huge help to us to get a successful build that we could use on quay.io and circumvent the rate limits. Or should we find a different solution since the quay.io repo won't be updated? Thanks!

@cboettig
Copy link
Member

cboettig commented Dec 7, 2020

@kcawley thanks for the ping. Not sure the origins there, don't believe that's us (though it does seem to be responding to git triggers from our repos? We have explored a few different platform integrations since 2012 and the docker universe has seen mergers and acquisitions since then, looks like quay may be connected to (now defunct?) CoreOS project which we used a bit in the early days?

Thanks for the heads up about encountering rate-limiting issues on the new Docker Hub policy. Happy to explore options more seriously if that's a common problem. If anyone has suggestions on this (co-devs or community) I'm happy to discuss, but seems good to avoid fragmentation.

@yuvipanda does your team hit these rate-limits or do you have a workaround or another platform to pull your images from?

@yuvipanda
Copy link
Contributor

Thanks for the heads up about encountering rate-limiting issues on the new Docker Hub policy. Happy to explore options more seriously if that's a common problem. If anyone has suggestions on this (co-devs or community) I'm happy to discuss, but seems good to avoid fragmentation.

Yeah, it's going to become a serious problem soon enough. On GKE and similar, there's an automatic cached mirror so that helps. But everyone else is going to constantly run into issues.

Soon, docker is going to delete images that haven't been used in a while. This will definitely affect a lot of the 'reproducibility' argument for using images.

I'd recommend starting to use another public registry (such as quay.io from RedHat / IBM, AWS's free public registry at https://aws.amazon.com/blogs/aws/amazon-ecr-public-a-new-public-container-registry/, or https://docs.github.com/en/free-pro-team@latest/packages/getting-started-with-github-container-registry/about-github-container-registry). It would also be nice to mirror all current tagged docker image versions to whatever you pick. There's tooling that makes this easy.

My preference is to use quay.io, since that's not controlled by the biggest players in this space now (AWS / Microsoft). However, probably not a bad idea to push to them all.

@eitsupi
Copy link
Member

eitsupi commented Sep 11, 2021

Are you still considering pushing to multiple registries?
In the rocke-versioned2 repository, tags are controlled by docker-bake.json, so in order to push to multiple registries, simply add tags like ghcr.io/rocker-org/r-ver:4.1.1 (automatically generated by the script and written to the bake files) and just change to log in to multiple registries at the same time on GitHub Actions. Like that.
https://github.com/docker/build-push-action/blob/master/docs/advanced/push-multi-registries.md

If we push to multiple repositories, the image will have multiple digests, but since we currently have a reporting system, we can see the digests on other repositories no matter which repository we pull from.
https://github.com/rocker-org/rocker-versioned2/wiki/cuda_a7e41d4adb6f
image

The easiest is GHCR(ghcr.io), which does not require an additional account.
Other options are listed here.
https://github.com/docker/login-action#usage

@eitsupi eitsupi transferred this issue from rocker-org/rocker-versioned Mar 1, 2022
@eitsupi eitsupi added the enhancement New feature or request label Apr 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants