Docker Community Forums

Share and learn in the Docker community.

Bachelor Thesis Project with Docker - ideas

Hello,
I am looking for cool project ideas to do in a bachelors thesis, related to docker or infrastructure as code.
So if there is anything you always wanted to do but never had the time to, just leave a comment and maybe a can make it happen.

TD;DR
In my student’s job as a software developer, I got in touch with docker a couple of months ago. Now I want to use my bachelor thesis to learn more about it and hopefully create something other people could benefit from. During the last month, I tried to wrap my head around docker and find a fitting project, but I couldn’t found one.
So I hope people in the community have stumbled over some cool ideas ^^)
Greetings
Felix

I can imagine people sticking to docker-compose and swarm stack deployments, would benefit from a package manager, like the kubernetes world does with helm. Preferably with a go cli-client and parameters and options like helm. II know that https://github.com/cnabio/cnab-spec exists, which does a similar thing, but still looks not like the final solution I would like to see. Not sure though, if this is enough of an idea for bachelors thesis.

1 Like

Thank you for this suggestion, Metin.
I finally had the time to dig into it and it seems to be a very interesting topic. It will remain on the shortlist.
Doing my brief research I stumbled over a CNAB implementation called Porter. Porter currently supports different environments (K8s, azure, AWS, docker-compose, …) but sadly no swarm-mode.

Right now (without any experience with Porter) I would try to create a “mixin” for the Swarm-CLI in Porter. Keeping the necessary configuration as narrow as possible.

Would this benefit your problem, or is CNAB to big of overhead for the most use cases?
Another idea would be to revive or rebuild something like swarm-pack.

As far as I have seen the CNAB implementations lacks conditional templating when it commes to plain docker. If you incorparate terraform and helm into your CNAP apps, then you get their templating capabilites… though this doesn’t help with plain docker (as in docker-compose) or docker swarm stack deployments.

Swarm-pack on the other side offers condition templating, just like helm does.

How about embedding swarm-pack as a cli-plugin (actualy an extension) that adds a “pack” subcommand to the docker cli while respecting the “context” capability of docker?

Also it seams that swarm-pack does not privde cli args to overwrite default values.

Actualy, I am fine with helm and kubernets. But beeing in different docker related forums, I know that such a tool would be much helpfull :slight_smile:

This may have been done already, I have not checked, but with the recent changes to limiting pulls from Docker Hub many are looking at their options, paying for an account, limiting their pulls, etc.

Being a developer and when developing new code to use the Docker API directly, the code will sometimes need to do more pulls than allowed in the time limit from Docker Hub. In looking to install a local Docker Registry noticed that at the GitHub repo is an arm64 version (code).

Now if you like the Raspberry Pi the idea is a no-brainer. If I have to explain it then don’t consider this for your project.

@clocks: Is it safe to assume that your wrote this response for a different thread and accidently posted it here?

I probably clicked the wrong reply button. The reply is meant for @sputniktea. My bad.

Discourse has two reply buttons, one for the last post and one for the topic.

The basic idea looks good to me. Though, it seems the project is abandoned. I downloaded the latest release and oh boy, I wish i wouldn’t have run it. It created a folder in my ~ dir, with the content as its name. I had no sucess to delete it this folder so far.

drwxrwxr-x  3 me me 17 Nov 13 12:49 '---'$'\n''# SWARM-PACK DEFAULT CONFIGURATION FILE'$'\n\n''includePrerelease: false'$'\n\n''# Docker connection configuration'$'\n''docker:'$'\n''  socketPath: "'/

So reviving or rebuild it would defenitly be necessary.

I think extending porter in the way you mentioned seems like a good thing to do.

My next step will be to discuss this with my professor and supervisor.
Also, I will try to gain a better understanding of the topic by getting my hands dirty in the code XD
No matter what the outcome will be, I will provide an update.

If you have any further ideas or suggestions feel free to post them, I’m always thankful for the feedback.
Nevertheless, thank you both very much for your time and help.

Regards
Felix

PS: @meyay I hope you could managed to delete the folder by now.

Do you mean something like that?
I find it difficult to form a scientific question out of it, or did I miss something?
But thanks for the idea, it seems like a fun project and maybe I will have a try on it anyway ^^)

My bad, I couldn’t make sense of the post in the given context, so I assumed that it was originaly aimed for a differnt thread. I missed that you directly addressed the OP. I feel it would be helpfull to express the thought a little bit further.

Are you sure swarm deployments are not yet covered by CNAB? When they write about compose, I would assume they are refering to the compose file specs, which does apply for docker-compose (single node deployments) and swarm stack (multi node deployments) deployments.

I can offer to be your reflector on the topic. You can pm me in German anytime.

Yes

I re-read your original post and there is no mention of scientific question.

You are right, I didn’t mention that my thesis has to answer a scientific question. I am sorry for the misunderstanding.
In my case, we have to write a thesis (3 months) and do a project (3 months) afterwards. Usually, you do all the theoretical research and prototyping during the thesis and use this knowledge in the project to bring the prototype to production.

1 Like

I not sure about CNAB covering swarm, but I will look into it and let you know.

I appreciate your offer to be my reflector and will gladly take you up on that.