scheduling
scheduling copied to clipboard
[New feature] Natively run Docker Containers build at runtime.
Right now, only scripted code or precompiled code (like Java in .jar files) can be run in Proactive (thanks to dedicated engines). Which dramatically limits the use of the tasks.
I suggest instead to allow the use of Docker Containers that can be build directly from the code defined in the tasks.
Please find attached a POC to demonstrate that approach : ScriptTask.java
However:
- the Docker build instruction should be provided as a parameter (defined in the studio)
- the docker image should be mutualized (and eventually destroyed to save space)
- use a real Docker repository so that the docker images could be distributed on multiple locations (servers)
- a dedicated
DockerTask
should probably be created - instead of going with a generic
bash
script to call thedocker
command, a direct call might be implemented instead - related to previous comment, a deployment through K8s should be considered
- in case of a larger code base than a simple script (which will be the norm if we consider Java code for example), a build from a (Git) repo should be an option
References:
https://aboullaite.me/multi-stage-docker-java/
New feature added in ProActive 10.0.0 release