-
Notifications
You must be signed in to change notification settings - Fork 106
Changing how we build dockers #722
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
Comments
@K-Jo @gkorland @rafie @DvirDukhan @alonre24 do you have anything to add? |
overall seems a good solution, with fewer scripts. Now we need to discuss my take on naming: CPU_ARCH = [x86, x86_intel, armv8, armv9]. x86_intel should be provided with avx512 backends I don't want to discuss the backend builds but for example redisai-x86_intel-CUDA-11.0-ubuntu-16.04:edge, the backend should be built with both CUDA and avx512. This is a different story and related to a different issue. |
@DvirDukhan We could provide a buster image (I build one in my tests). Ultimately it's a platform that's between xenial and bionic, so it shouldn't have an extra support cost (yes, famous last words). To make sure I understand your versioning, and how it differs from readies #22 can you write out a few, fully qualified names? I just want to make sure we're 100% on the same page. Versioning is the easiest part of this for me to change, but I want to do it, while I'm in the space. For RedisEdge and RedisMod, we could simply pull dockers from several builds (rather than s3), mount them during the build, and copy out the file. This would rely on some sort of latest (ish) tag. S3 pulls are just as easy - and will definitely run faster, for the record. Assuming we literally upload the same binaries to S3 that we build in our dockers, I'm fine with both approaches. If they continue to be separate - then we should take from the docker. |
redisai-x86-cpu-ubuntu_20.04:1.2.3 Regarding RedisEdge and RedisMod, I think it is preferable to avoid the "stacking dockers" approach. You will need prior knowledge on how the dockers are built, additional runtime libraries location, etc |
Regarding RedisEdge + RedisMod, I agree with your approach. I prefer disting as a strategy in all cases. Regarding the versioning:
This makes each of these look like individual products within the redislabs repo. My preference is for the detail to be similar to what [nvidia did in dockerhub]](https://hub.docker.com/r/nvidia/cuda/tags?page=1&ordering=last_updated). Theirs are $VERSION-$VARIANT-$OSNICK. I was proposing having $VARIANT (your x86_intenl-cuda, for example) at the end, as $VERSION-$OSNICK-$VARIANT. I view these all as one product with multiple variants - hence them all being available within the same docker organization/product combination. |
@DvirDukhan For x64 we're at the point of just tagging them. Instead of using the version numbers (i.e 20.04) for Ubuntu, we're instead relying on the current name (i.e focal). |
Bump.
which means it's no longer possible to build docker image for redisai and redisgears |
@AlexMikhalev I'll see why the manifest isn't automatically generated on the docker side - but as the documents should say: cd build/docker |
works for now, but not sure it's by intent or luck. Both docker images build by the Redis team, I would think all will use the same Linux distribution - redismod also uses bionic for redis-ai and buster or bullseye for all other modules. |
Background Information: We build docker images in CI, on a specific need. We build these any time we run the platform build, but don't necessarily distribute them. Occasionally (master, version branches, release tags) we publish them to GitHub.
External Issue: We have an external requirement on making a buster build of redisai, for edge. RedisAI wants to support multiple published versions of dockers.
Goal: RedisAI wants to build and release docker images of our product across multiple operating systems. This covers a matrix of cpu and gpu, x64, and arm, as well as specific operating systems such as Ubuntu versions xenial and bionic.
Proposed Solution
Impact
The text was updated successfully, but these errors were encountered: