1 minute ago, babadoctor said:
I see, so maybe I shouldn't use docker.
What would you suggest I use?
Huh... But then how does google cloud do it? They have instances that they provision...
Would I be better off using something like kubernetes?
What software would you suggest I use for something like this?
For a machine with data that you want to keep and want to be able to log into to do work, something like VirtualBox, VMWare, KVM/QEMU is the better option. Create a virtual machine, install a Linux distro and then use it like you would a physical machine. Start it, install updates and programs you need, remote into it, work on whatever you want, shut it down.
A docker container is based on an image. An image usually contains only the essential stuff needed to provide the one service it was made for. The image itself is immutable. When you stop and restart the container it is back to its starting point (a bit like a snapshot + rollback in a virtual machine).
If you need a cluster, start multiple containers based on the same image. You do not install updates inside the container because they would be lost when the container is restarted. Instead you create a new image with the new version and replace the old container.
Think of Kubernetes like an additional management layer on top of containers (like Docker). Kubernetes is used to orchestrate multiple containers that work together (e.g. multiple services, each in its own container that depend on one another)
This is where companies like Amazon, Google and Microsoft come in: They provide a platform to run such containers which are then used to provide service(s) to customers. No one signs in to these machines directly to get work done. The machines are there to provide a service.
(And yes, they also provide other services like hosting so you can also run virtual machines on their platform in case you need a "real" machine)