Should I go for VMs or containers?

Continuing from this thread: Rack servers recommendation, Would it be better if I ran multiple VMs or containers on top of the second hardware. I said number crunching, data mining, processing map data but I forgot about CI/CD. Currently, I am considering Jenkins as the CI/CD. Bugzilla as the issue tracker. Would it be wise to go for containers for deploying these softwares or VMs?

There isn’t really a single answer here. It depends on a number of a factors including the application in question and the security model needed for each application.

I’m general, I would say use containers where you can and VMs otherwise.

If you only have a single server it is probably best to configure it to handle both and then deploy on a case by case basis.

1 Like

There is a fundamental difference between docker containers and VMs when it comes to networking. docker containers have the same IP address as the host, while VMs have independent IP addresses.

Example:
I wanted to try pi-hole as a dns filter. I tried the docker image but that does not work properly unless I tweak the docker network settings. The reason is that I already have a lighttpd service running on the host. pi-hole is starting its own http server with the same IP address as the host and that is not working obviously.

A pi-hole in a VM does not have that issue because it is a separate PC inside a PC with all the freedom that comes with.

2 Likes