Well, you need to get a binary compatible docker image for the hardware. But frankly almost everyone uses x86-64 now, so this is not usually a problem. If these customer upgrade their version of Linux, the new Linux version usually comes with Docker, and you don't need to update the image.
Docker is surely not for everyone. If you don't get why you want to use Docker, chances are you don't need it.
Differently people use Docker differently, I see Docker could be useful for several purposes:
1) scalability
This is the main advertisement point for Docker I guess. Well it enables your stateless application to scale automatically.
2) being able to deploy without caring about dependencies
There are times we want to deploy something into customers' servers. We have no control over their machines' environments. But with Docker, the only thing I need to make sure is that they have it installed.
3) Infrastructure as code
All our source code is checked in git and version controlled nicely. When we need to run it again, just clone from git. How nice! But our infrastructure, meaning server formation and service relationship? Not so much. Before using Docker, we basically need to ssh into servers and install dependencies according to the documents. It was not only slow, but unreliable because we all know how documents can lie. With Docker and docker-compose, the infrastructure can be written in code and checked in git. Most importantly, code doesn't lie.
You can surely use other tools to achieve those. I'm not saying Docker is the only way. But I believe it's a good tool to consider when you have those needs.
When using non-integer scaling, does mac OS actually render fonts at 2x, then scales it all down?
So you have a 3840x2160 monitor, set mac OS to "look like 2560x1440", it would render at 5120x2880, then scale it down to 3840x2160?
To me, a more logical solution would be using the vector font of the target physical pixel value (3840x2160) and skip all scaling etc.