However don't forget that Docker also gives the user an interface for running processes in a namespace and cgroup!
However don't forget that Docker also gives the user an interface for running processes in a namespace and cgroup!
I agree that for the bare Golang application systemd will be enough.
But what will you do with Java and (OMG!) Ruby, NodeJS applications?
For lots of stuff out there Docker packaging capabilities are vital!
People have been running servers and installing software for a long time before Docker came around, and will be for a long time after it's flavour of the month appeal wears off.
Good luck when you want to have multiple projects installed on a single server.
npm already installs dependencies locally by default.
I already generally avoid Java apps, for bigger reasons than packaging, but setting a custom $CLASSPATH for the JVM to load your dependencies isn't really that difficult.