Conversation
|
So right before the 0.5 release I looked into docker stuff and ended up adding a Dockerfile -- I took a bit of a different approach with it, where it downloads the latest release instead of following our build-from-scratch instructions. This seems to be the common way that other projects handle it (at least, that's how CPython and PyPy's work). It might be nice to have a dockerfile that generates a dev environment. I think docker isn't really meant for this sort of thing (it doesn't want you to keep any state or treat the containers like vms), but I've definitely used it like that and it seems to work fine. So in that sense this could still be useful, but I'm worried about the download size -- the llvm directory and build directory add up to several gb. Maybe for this use-case ("quickly setting up a Pyston dev environment") we should go with Vagrant and try to take #1104 / #1147 to completion? (It looks like #1104 is just missing docs.) Also, we should move this Dockerfile out of the top level, since |
|
fyi, here is a two-layer image based on Ubuntu Xenial as reference. i used the build-approach as the virtualenv doesn't fit into my concept. a virtualenv is also rather a redundant isolation layer in a container. the build works well, but the vast amount of package dependencies - including lots of latex related stuff - is hell. this renders automated builds on the docker hub impossible due to the limited resources there. |
|
I'm going to close this because I think it is quite unlikely that a build-based dockerfile will be what we want -- as you said it will prevent automatic builds, and there isn't much benefit to it. Separating the packaging from the building seems reasonable as well. I don't think we can get around using virtualenv inside the container, at least if we want to provide a "Pyston environment" and not just a "Pyston binary". Yes it's multiple layers of isolation, but docker containers don't remove the need to separate app and system pythons. Maybe there's some better way of solving it, but providing a virtualenv makes it so that we can address the common use case of people who want to run numpy on Pyston. |
#1096 Simply make develop environment by using docker
docker build -no-cache --tag pyston:latest ./for make imagedocker run -i -t pyston:latesfor run imagep.s May be we can provie daily image from
https://hub.docker.com/by usingAUTOMATED BUILDbut need some test (As far as I know there are some cache issue. this script should always clone latest branch but dockerfile may skip if there is same instruction already executed. I don't know whetherAUTOMATED BUILDsupport-no-cacheoption.)