-
Notifications
You must be signed in to change notification settings - Fork 222
Dockerize everything #58
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
Thanks for the suggestion! Could you expand a bit on the ultimate goal that you have in mind here? |
Sorry for being so unspecific. Ideally I'd like to |
I understood the command you want to run 😸 What I don't understand is why you want to do that. For example, if we literally did as you asked, the child containers would never be updated — those are built via a separate cronjob. |
My rationale is easy installation. The child containers could also be pushed to docker hub regularly and the parent container could pull their latest tag. |
So we'd need to set up some third-party service to build and push these containers on a schedule.
And update something, I'm not sure what, to perform a Additionally, you couldn't run |
When you do that, you can also build new images from inside the container. This means that if you run cron inside a container, that can take care of rebuilding the containers on the host. I don't think it is a good idea to combine the cron job and the UI in a single container. The cron container could also create and start the UI container. That way you could use a single If you want, I can work on a POC or PR. |
That would be wonderful. Let me provide a bit more detail about the "day-to-day" running of the playground that I do now:
To the trained eye, you can see that this process is pretty amateur hour. I'm all about creating an improved process, but as far as I can see, we need to be able to accomplish the same goals. I'd be more than happy to discuss any details you are interested in. I'd feel terrible if you spend time on something that ultimately is not a good fit!
I agree; it's my understanding and experience that basically each container should be restricted and very focused on a single task. |
I'll make some changes step by step, to try things out, to look how it works, and at the end I can squash the commits and create a pull request. I would not mind if you won't use anything in the end. By doing this, I'll also learn from it. I probably need some guidance for style, naming convention, directory structure, etc. First I want to make it work, and possibly discuss security implications. Changing names later is easy. I created a branch dockerize-everything in my fork on github. I concentrated first on building the compiler containers in a container. I did not update the documentation, so I'll explain here what I did. docker-compose.yml references compiler/Dockerfile, and for testing I created a crontab which updates every 15 minutes. To start (detached), use
This means if compiler/base/Cargo.toml is updated, the container running cron has to be rebuild. It would also be possible to automatically fetch it from github. It should not be difficult to automatically run the |
There is currently not a lot of progress on my side. I got a (new) job and found it difficult to find time for this. I found a technical limitation of docker-compose, so I started looking into dobi and s2i, but I am not sure yet if that will solve my problem. If someone else want to pick this issue up, I am fine with that. Otherwise I hope I have more spare time in a few months. |
In a semi-related piece of info, I'm now building the 5 primary containers in Travis CI and pushing them to Docker Hub. They are thus available for anyone to use locally. |
It would be nice if the whole playground would be encapsulated into a docker image. If that image was published on dockerhub, installation would boild down to a single docker run command.
The text was updated successfully, but these errors were encountered: