-
Notifications
You must be signed in to change notification settings - Fork 1.2k
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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
provide docker image(s) #2774
Comments
@casperdcl , I'm not sure how much benefit would bring, giving that it is not that hard to create a docker image for DVC: Also, testing this would be the same as testing DVC on a linux machine (or at least, it should be) I doubt that users want to use it as a base image, since it doesn't provide anything else than DVC. I'd prefer to not maintain this one, to be honest |
I would also argue, that when doing some data science stuff in docker, its probably easier to install DVC in your own image, rather than try to adjust DVC image to you requirements (like installing TF/pytorch/...). |
@pared that was my point about
as in people could copy-paste from our docker file into theirs... I assumed it's more complex than just a |
@casperdcl ok, I didn't quite get it.
That would surely help to build custom image. |
@casperdcl Hm, |
@efiop the |
@efiop can confirm |
@casperdcl Ah, got it. yeah, |
Yes I did start making a few flavours of docker images for testing (alpine, ubuntu LTS, 2.7, 3.6 etc) ages ago which are probably sitting in a Now I just use a conda env for dvc testing. |
btw totally fine with this issue being closed - don't actually have any strong opinions about it. |
@casperdcl No reason to close it. Docker images(or at least dockerfiles) would be nice to have, for sure. 🙂 |
I just came here looking exactly for that. I instantly go looking for a docker file for me to easily test the software. That is because I use different software (mostly R), and don't use python outside docker (because python environment libraries change a lot, and nobody seems to agree which one is best - conda, virtualenv, pyenv, pipenv etc - which, to complicate further, have different functionality). |
@nettoyoussef Thanks for the feedback! Do you need pre-built images, or a Dockerfile in our docs would do? |
@casperdcl thank you for this idea! I agree with @pared and @MrOutis that it is easy to create your own docker image and it might create additional supporting overhead for us. However, prebuild docker gives value to users and @nettoyoussef showed some example. It can attract users' attention and improve usability despite a simple implementation. But then documentation plays the major role. Can we make a good documentation page or even a small blog post that explains the motivation behind using docker image instead of installed tool and when it is needed? Why don't we start with doc/blog-post and then implement the docker image. |
Thank you for being so helpful. Personally, a Dockerfile would suffice. The community, however, maybe would benefit more from a pre-built image. Instead of building one from Ubuntu, you could make your life easier and, e.g., start from a miniconda image. I think this can be easy to automate, and maybe you can even delegate this to other teams - a partnership with rocker for example. Since from what I read It also makes easier to implement it in existing projects - since you don't have to rebuild the images just to try it. |
Here's an initial draft to add to DVC's docs a section about using Docker: iterative/dvc.org#811 Feel free to edit it accordingly 🙂 |
After several iterations trying to provide useful information for Docker users, there's no agreement in what should be that info and the way we should present it (e.g. provide an image? docs are enough?) Let's keep the discussion open for now :) |
Well, like you said in iterative/dvc.org#811 (comment)
So I don't see the point of providing such a simple Dockerfile that anyone familiar with Docker can easily create. Maybe just a small section in the installation guide to provide Docker tips such as using |
There are two DVC-docker images for CI/CD project which are going to be maintained:
The docker files code is here (gpu PR is not merged yet): https://github.com/iterative/dvc-cml Does it make sense to extend these images to cover the needs of this issue? What needs to be added or changed in the images? |
maybe I'm missing something but it looks like they're using On a related note I like where this is heading https://github.com/iterative/dvc-cml/wiki/Tensorflow-Mnist-for-Github-Actions |
@casperdcl it is using docker files. Index.js is here just support GH users who don’t want or cannot use docker. You can find it in the workflow files. |
Right. Seems a bit odd to provide a nodejs action for public use via the standard |
@casperdcl what would be your suggestions for that project? How to organize it in the right way? |
Advantages:
Surely should discuss this in an issue on that repo though? |
you mean prettier configs, etc, etc?
could you elaborate?
same here, could you elaborate? |
er, just a general principle removing as much as possible. Some tools expect files to be in the root so we're mostly stuck there, ofc.
It's cumbersome for us to maintain multiple, well, entrypoints to our actual code. If we want to support both This way we can use the docker wrapper for the action. Thus running the action will test our docker wrapper as well as the underlying entrypoint. The additional advantage is that all deps are guaranteed installed in the docker container. |
I feel that I'm still missing something :) Docker entrypoint for the image we provide already does this, right? It already runs Node. And image itself has JS bundle pre-installed. There are no very strong reason to support direct docker-less action, but it's a separate topic. |
yes I was making several minor points, I think we're all missing small things but nothing major :) |
Hi! we are pushing to use the code through Docker, the main reasons are:
The MAIN reason why the js action is maintained is because there is no way MACOS or WINDOWS can run specific native tools in docker. So if a user would be using i.e. CoreML with Xcode the only way to make this work available for them is through the purely Github Js action and only in Github |
Hi, we're using the |
Hi, @hsharrison. Could you please mention your issue in the CML's repo, specifically on iterative/cml#217? This way, it'll be easier and faster for you. Thanks. |
👋 @hsharrison feel free to open a ticket there. Could you please provide also whats your pain point? |
My mistake, sorry for the noise. |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
Provide docker images
docker run --rm -t -v $PWD:/repo dvc status
)The text was updated successfully, but these errors were encountered: