A Dockerfile itself is the instruction set. There is a certain minimum requirement expected from a server admin that differs from end-user requirements.
The ease of docker obfuscates that quite a bit but if you want to go full bare metal (or full AWS or GCS, etc etc) then you need to manage the full admin part as well - including custom deployments.