9
votes
Tildes Docker Image
Looking at the development setup page, the suggested setup is to use vagrant to create and provision a VM. Out of curiosity, is there a reason for this preference over setting up a Tildes Docker image inside the repo? Tildes seems like a pretty simple and straightforward web app, it shouldn't be difficult to create. Is it just a developer preference of Deimos/Tildes devs? Or is there a logistical reason?
Docker and Vagrant are incredibly different. Docker is basically a software package. It needs to be compatible with the underlying operating system. Vagrant is a virtual machine provisioner and is thus compatible with systems that Docker isn't.
For example, you can run a Linux Docker image on top of a Linux distro with containerization available, but on distros without it or on other operating systems like Windows, you can't run it at all. A Vagrant configuration doesn't have this problem.
To clarify, it's possible to run a compatible Linux VM and use containers within said VM. But at that point you're basically just doing what Vagrant does with extra steps. Docker is better for handling multiple microservices rather than a single service setup like Tildes. Both tools have their own problem spaces, and Docker just isn't in the Tildes problem space at this point in time.
Please note the installation requirements for their Docker Desktop application. You're still installing a hypervisor, which indicates an underlying VM instance being utilized. They certainly abstract it away, which is great, but a spade is still a spade.
I can see how my phrasing could cause confusion. It's definitely ambiguous. Sorry about that!