I am using everything inside Docker, so root is pretty much the only “meaningful” user there. Docker is basically the perfect “matrix” for a running program. A program is executed natively (not virtually) on the host machine but it “sees” that it is somewhere else. So even if it thinks the he/she is the root, that means nothing. In that virtual world.
Docker is basically a VirtualBox/VMWare virtual machine but it is not implemented az an “emulator”, the code is executed directly on the CPU but it is isolated and it “sees” whatever is shown to it.
This is the reason why root is the most meaningful user to use in a Docker environment. There is no other user. If I want to run two separate systems, then I start two docker containers and they cannot see anything except for what I want
to show them (say mounted external directories, exposed ports, etc).
Introducing users into a Docker container creates unneccessary complexity, hence I (and almost everybody) wants to avoid them.