-
Notifications
You must be signed in to change notification settings - Fork 7
Add more libraries to the grading containers
Given the architecture of UNCode, the grading containers (Docker) that are in charge of running the student's submissions can be customized so that the environment in which the code to be graded is run may contain extra libraries.
As the title states, based on the architecture shown in the picture above, the idea is to edit the respective Dockerfile JuezUN/INGInious-containers of the container you are interested in, then deleting all the images from the bottom until the edited container and finally re-build these containers.
For example, Lets say we're interested in OpenCV for c++, Java and Python, we'd first edit the multilang Dockerfile and add the following line:
RUN yum install opencv opencv-devel opencv-python
Now, whenever we rebuild this container, openCV will be added and submissions sent to this type of container can import said library. However, as containers in UNCode inherit in a hierarchical manner, we need to delete the children image of multilang: data_science. For this hypothetical case, you'd run:
docker rmi -f ingi/inginious-c-datascience
docker rmi -f ingi/inginious-c-multilang
docker rmi -f unjudge/inginious-c-multilang
docker build -t "ingi/inginious-c-multilang" grading/multilang
docker tag ingi/inginious-c-multilang unjudge/inginious-c-multilang
docker build -t "ingi/inginious-c-datascience" grading/data_science
Ofcourse, it is always and option to simply delete all images bottom-up and the rebuilding everything top-bottom. and there is a small script to do so. In case you simply prefer the "jack of all trades" inefficient route:
cd <your local directory path>/INGInious-containers
./clean-build-main-containers
Check the repository JuezUN/INGInious-containers to learn how to start contributing to this repository, also, check the documentation: How to create a new container in case a new a new grading environment is needed.
UNCode - Distributed and maintained by the Universidad Nacional de Colombia, Campus Bogotá.
Visit the UNCode web page.
Visit UNCode.
- Home
- User's Documentation
- Developer's Documentation
- Deploy UNCode
- Others