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

Dockerfiles, streamlined and for multiple architectures and systems #19

Open
alxn4 opened this issue Mar 2, 2024 · 0 comments
Open
Assignees

Comments

@alxn4
Copy link
Member

alxn4 commented Mar 2, 2024

Referencing our discussion in #17

@srnnkls

why have you introduced two runtimes? We have focused using 3.8 and 3.11 for testing purposes but I think we don’t need both runtimes to be public here

3.8 is the minimum version, and 3.11 the current maximum. 3.11 supports a few newer libraries. And with upcoming changes, support for newer versions, we can quickly start and test them.
It is not necessary to put both. But also the files and code for both are very few.
And when we need to quickly check something, they are there and prepared.

you are using manylknux as the baseimage for the runtimes (3.8 & 3.11), why? I think this is a huge image and not necessary for a getml runtime

That is about 460MB. (https://quay.io/repository/pypa/manylinux2014_x86_64?tab=tags&tag=latest)
The standard Python image is about 360MB. (https://hub.docker.com/_/python/tags)

python:-slim

This image does not contain the common Debian packages contained in the default tag and only contains the minimal Debian packages needed to run python. Unless you are working in an environment where only the python image will be deployed and you have space constraints, we highly recommend using the default image of this repository.

When using this image pip install will work if a suitable built distribution is available for the Python distribution package being installed. pip install may fail when installing a Python distribution package from a source distribution. This image does not contain the Debian packages required to compile extension modules written in other languages.

There is also Jupyter-Lab, getML engne, getML monitor running inside. I would need to try, if they still work in the slim one. (A quick runs in problems with missing curl and can't apt install it… And pysimdjson fails with error: command 'gcc' failed: No such file or directory)
But are ~500MB really that much for just quickly checking things out?

Okay, on disk it is more like 1.56 GB.
And the build notebook images (with installed requirements and things) are 4.53 GB
(The ones build from Python-images are 3.85 GB and 4 GB - not too much different, I think.)

Because of PEP513... PEP600... , manylinux sounded like a good base.

Originally posted by @Urfoex in #17 (comment)

alxn4 pushed a commit that referenced this issue Mar 2, 2024
- Update notebooks to work with current versions of getML, featuretools, tsfresh, prophet ...
- Clean up contents of notebooks
- Add docker and compose files for easy local testing
- Add requirements with pinned versions for Python 3.8 and 3.11
- Move binder to own project

&4 #16 #17 #18 #19 #20 #21 #22 #23 #24 #25 #26 #27 #28 #29 #30 #31 #32 #33 #34 #36 #37 #38 #39 #40 related issues
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants