Using reverse proxies is common enough now that quite a few apps can deal with subpaths, and for the ones that can’t you can generally get nginx to rewrite the paths for you to make things work.
Using reverse proxies is common enough now that quite a few apps can deal with subpaths, and for the ones that can’t you can generally get nginx to rewrite the paths for you to make things work.
That’s fair, but is that environment any different from just a virtual OS? I mean it doesn’t have its own filesystem and drivers etc, but that’s precisely because they’ve been made virtual.
In this context I’d say systemd is an application, not the OS, though the distinction gets iffy I know.
The images can get big, but they’re fairly clever about it so it is manageable. Performance wise they don’t take up more CPU and RAM than a regular application.
There’s an (unofficial) image running nodemon on dockerhub about 250MB in size. The official NodeJS image is about 300MB (presumably they’ve preinstalled a bunch of stuff). You could start with the official image and install nodemon on it, that would probably be most future proof (no way of knowing if the unofficial image keeps getting updates, if any).
To understand it you’ll need to know roughly what an OS is. Very roughly speaking an OS provides a program with a way to access files, connect to the internet and launch other programs.
What docker does is make something a bit like a ‘virtual’ OS with its own filesystem, network and task manager, and then start running programs in it (which then may launch other programs).
Since you’re not making a VM which must simulate all of the hardware, this is a lot cheaper. However since a docker container gets its own filesystem, network etc. it can do whatever it wants without any other programs getting in the way.
Among other things docker containers make installation a lot easier since a program will only ever see its own files (unless you explicitly add your own files to the docker container). To a large extent you also don’t need to worry about installing any prerequisites, since those can just be put into the container.
Making a docker container is a bit (a lot) like installing a fresh OS, just putting the stuff you need in it and then copying the whole OS whenever you want to run the thing again. Except it’s been optimized such that it takes about as much effort as launching a program, as opposed to a VM which needs dedicated resources and are generally slower than the machine that hosts them.
Yeah this is one of the reasons I don’t like companies that profit directly of of pirating. It never ends well and eventually someone is going to figure out they can just buy the company instead of competing on convenience.
I am, no worries.