Go compiles to a single binary. It doesn't have a dependency manager.
Docker sets up a consistent enviroment for your program to run anywhere. It helps with a lot of scaling/consistency/deploying things.
Issues this setup resolves:
- I'm using Go Dep during the Docker build to ensure vendor files are compiled to the Docker image.
- I'm using Go's static binary build
- I've setup a makefile to facilitate all the docker commands.
Logging in via aws
Sometimes can get login errors: aws ecr get-login --no-include-email --region us-east-1 | sh