the biggest selling point for me is that I'll have a mounted folder or two, a shell script for creating the container, and then if I want to move the service to a new computer I just move these files/folders and run the script. it's awesome. the initial setup is also a lot easier because all dependencies and stuff are bundled with the app.
in short, it's basically the exe-file of the server world
runs everything as root (not many well built images with proper useranagement it seems)
that's true I guess, but for the most part shit's stuck inside the container anyway so how much does it really matter?
you cannot really know which stuff is in the images: you must trust who built it
you kinda can, reading a Dockerfile is pretty much like reading a very basic shell script for the most part. regardless, I do trust most creators of images I use. most of the images I have running are either created by the people who made the app, or official docker images. if I trust them enough to run their apps, why wouldn't I trust their images?
lots of mess in the system (mounts, fake networks, rules...)
that's sort of the point, isn't it? stuff is isolated
If a directory has multiple words in it I usually do kebab case: i-like-mine-in-a-way-i-can-read-them-properly. Both easier to read and type than pascal case.
For more complex filenames I use a combination of kebab-case and snake_case, where the underscore separates portions of the file name and kebab-case the parts of those portions. E.g. movie-title_release-date-or-year_technical-specifications.mp4
Reasonable and sane behavior of cd. Just get into the habit of always using lower case names for files and directories, that's how our forefathers did it.
Could be difficult. Name is a bit stained.