At Docker, we love to hear your use cases of containers. It is very exciting to see how Docker can be integrated into existing systems. Or like in this case, used as a disruptive technology to achieve things that were not possible before.

This week we’d like you to meet Mustafa: a MSc student and a teaching assistant at Bilkent University in Ankara, Turkey. After discovering Docker on HackerNews, he and his students started using a Docker powered web-based platform called Programming Assignment Grading System (PAGS) to grade assignments in a very exciting way that is helpful both for the students and the professors alike.

We got in touch with Mustafa to learn more about their interesting journey with Docker.

Here is our interview:

– How did you discover Docker?

I came across Docker on Hacker News and the project got my interest immediately.

– What was it especially that attracted you to Docker?

The fact that I could work with light-weight containers which are super fast sounded interesting. So I gave it a shot and the results were great. I really liked the things I could start doing with Docker that were not possible before.

– How did you get started?

I went through the documentation and started testing it for various things.

– We were inspired to hear your specific use case of Docker. Can you tell us more about it? What are you currently using containers for?

I am a teaching assistant at Bilkent University. We are using Docker containers to grade programming assignments at our CS 342 class.

– How is Docker helping you with this task?

There is a common problem that both professors and students have at schools: The lack of a base which everybody can easily use and share to run . Before Docker, it was not possible to test assignments with such ease and students’ common complaint was that their runtime environments were different than the testing machine. Docker solves this problem for us. If the code runs on one system [in a container], Docker guarantees that it will run on another: For example, the teacher’s computer or a server where we test and grade assignments.

– What other technologies are you using to power this platform?

We are using Node.js and Nginx to run our app.

– That is quite interesting! Have you tried other solutions before Docker?

Yes. We tried to work with virtual machines before but unless there is a very powerful and expensive infrastructure (which is unlikely for most universities), it is not possible to work with them for such purposes. Before my Docker based system, students had to log on to a shared server. This caused them to affect each others programs, or brought the whole infrastructure down. And it wasn’t possible to give a VM for each student for us.

– How does Docker help in this case?

On a single server we can run as many containers as we need and we can do it very fast. This helped us to abolish our constraints and do things in a way which could not be done before. In fact, my grading system PAGS can run even on a single PC. It is amazing to see that I can continue to work when student are testing their code at the same time. Docker isolates everything and limits the memory and CPU usage, not affecting my work at all.

– How does it work?

To begin with, I created a simple class on PAGS with 3 assignments for Java, Octave and C. Each student could log in and and try them out.

– What is the reaction of your students to Docker?

They are new to the technology but interested in it. They enjoy this new Docker based grading system.

Thank you Mustafa, cheers from Docker!