-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Move all docker images out of dockerhub #18292
Comments
I'm raising priority of this issue, as this is currently making the Happy Path tests fails very often. |
Images on docker.io to which the Che 7.21.1 CSV refers include:
|
What if we used images from the Red Hat container catalog?
Replace with
Replace with
Replace with
These are all code-server editor images, AFAIK they are community contributed so not really our problem.
Not sure if we maintain this or not.
Judging by https://github.com/ws-skeleton/che-editor-jupyter, we could probably build this ourselves and stick it on quay.io
Not used by the plugin/devfile registry so I cannot comment. 😃
Can probably be moved to quay.io, but AFAIK this is a community contributed plugin.
This is a POC, from my POV we can remove it all together. |
|
For postgresql it's under discussion since may from Platform team: |
So there are two then, the one in the devfile registry and the one being discussed in that issue. |
Are you sure? I can't find any note about this anywhere. However, I can see this on FAQ (https://www.docker.com/pricing/resource-consumption-updates) Does it matter what image I am pulling? |
@sparkoo I may have confused that with the image expiration enforcement for inactive images. On the other hand in this blog post Docker is mentioning that:
|
@l0rd it is counting to my limits. I'm using anonymous and I have no idea why I have 500 limit, but as you can see below
|
You are right @sparkoo, I have the same behavior. |
This is literally a blocker as the che 7.22 release today failed due to rate limit:
-- https://ci.centos.org/job/devtools-che-devfile-registry-release/87/console |
movement is needed for Centos CI jobs, to unblock Che images build (e.g. che-theia image nightly build https://ci.centos.org/view/Devtools/job/devtools-che-theia-che-build-master/277/console). |
Script to copy from docker.io/org/image:tag to quay.io/eclipse/che--org--image:tag-SHA: I've run it successfully a few times and it's created 9 repos here, including making the repos public and populated with team/robot users so others can add content. https://quay.io/organization/eclipse Using those quay versions of images, we can update Che operator's CSV to point to these "safe" images, and not be hit with rate limits. NOTE that with this script we could also copy images from registry.redhat.io so as to avoid the authentication requirement from that registry... and finally be able to use the latest UBI8 based build images, instead of alpine, ubuntu or RHEL7 ones. Why? well, here's a hint why that would be good: |
PRs for plugin & devfile reg, which we could/should backport to 7.22.x too so that we can test drive the release and verify this makes it more robust.
Merged w/ Eric's approval, and cherrypicked to 7.22.x where branch exists. |
Next up, PR for operator: I think I hit all the required files but @tolusha LMK if I missed anything. |
Some centos images that are mirrored on registry.centos.org and quay.io:
|
@nickboldt if the criteria are CVEs let's move to quay.io/app-sre/postgres:9.6.20-alpine: The images you are mirroring from Docker Hub have 30+ vulns: |
Mysql on registry.centos.org and MySQL on docker hub are built from the same GitHub repo. MongoDB on registry.centos.org and MongoDB on Docker Hub are build from the same GitHub repo too. I cannot tell why they are publishing different versions on different registries (maybe @hhorak can help us) but those images look good enough for our samples. Now if you insist and want to maintain more Dockerfiles and CI for those images I won't block you @nickboldt but it looks like something we can avoid. |
Questions:
|
I never claimed I was using a better image, only that to allow the release to proceed, I'd copy the docker.io images to quay. If you want to open a new issue for "move to newer/better/less vulnerable images" that's a different can of worms than "Move all docker images out of dockerhub", which is the title of this issue. :D |
in any case, core images should be multi-arch |
@l0rd The official community images for MySQL and MongoDB that we product are currently located on Docker Hub. The images on registry.centos.org were added with the aim to move them at some point, but it never happened entirely. I'd therefore recommend to use Docker Hub if possible, although we're aware of the limits that Docker hub recently introduced. The solution @phracek from our team is working on to address the new limits is to move the images to quay.io. Anyway, it is still not clear to me why the images on registry.centos.org are outdated, my understanding was they should be rebuilt pretty regularly using https://github.com/CentOS/container-pipeline-service. It's not something I'd consider worth exploring though, because of the plan to move to quay.io instead. |
FYI, app-sre images were single-arch but I've asked them to mirror all arches and they've created some PR to enable it: Also for libraries of dockerhub we can ask app-sre to mirror them it if it's missing (so we could include traefik for example) https://gitlab.cee.redhat.com/service/app-interface/-/tree/master/data/dependencies/image-mirrors/docker.io |
Does anyone know if the app-sre team can also mirror stuff from registry.redhat.io to quay.io? Or, as asked on https://projects.engineering.redhat.com/browse/CLOUDDST-3798 ... can we store a pull secret for registry.redhat.io in a GH action, which would allow authentication without the need for:
|
Turns out we can use a service principal's pull secret to pull images from registry.redhat.io... so we can just start using that when building Che components, when there exists a better option in RHEC than in quay.io/app-sre or docker.io. https://gist.github.com/nickboldt/a884449ada7a6cdcda85e58c984b5eea |
@nickboldt but anyone should be able to build ( without any secret) |
well, you need a docker auth secret to build and not hit rate limits (eg., for che-theia or che-server w/ dashboard and ws loader). And getting a secret for reg.rh.io is just as free, and easy to do, as getting one for quay.io or docker.io: https://access.redhat.com/RegistryAuthentication So... what's your REAL objection here? |
objection is that I don't log in into quay.io to build che (I'm far to reach any limits) as I don't share my ip. |
for me, if we're not blocked by dockerhub anymore, or if we've identified bottlenecks and created issues for them to work on, I'm ok with closing this one. I wasn't paying close attention to this issue, so I don't know exactly what has been done. |
Closing, clearly nothing else happening here. |
Describe the bug
With new dockerhub pull limits [1][2], which limits anonymous user to 100pulls/6hours, we need to move all our images out of this registry.
This can have impact on development process (I've hit the limit on CI build job https://ci.centos.org/job/devtools-che-pullrequests-build/1663/console).
I think it may affect Che user experience as well. When cluster itself hit the limit and we use plugins/components from dockerhub, the whole Che might become unusable for 6 hours and this is not acceptable.
So this change should include:
[1] - https://docs.docker.com/docker-hub/download-rate-limit/
[2] - https://www.docker.com/pricing
Expected behavior
All our common docker images should be pulled without limits that might block us.
Image list
The text was updated successfully, but these errors were encountered: