Docker is a great solution for some problems. We use it for Yoe builds, where host dependencies are complex. However, with pure Go apps that are statically linked with embedded assets, there are no host dependencies.
[cbrake@ceres go]$ ldd siot
not a dynamic executable
So deployment is simple – copy the binary to your server, edge device, whatever. This is the way Simple Iot works and pretty much everything else I’ve done lately.
Someone else apparently thinks so too:
https://launchyourapp.meezeeworkouts.com/2021/03/why-we-dont-use-docker-we-dont-need-it.html