


#Golang docker hyperkit how to#
This is the first of a series of blog posts that will show you how to use Docker for Go development.
#Golang docker hyperkit code#
A good example of this is that we use gRPC for many projects and so require a specific version of protoc that works with our code base. Even with this toolchain we often run into issues like mismatched versions of Go, missing dependencies, and slightly different configurations. The Go toolchain is great– providing fast compile times, built in dependency management, easy cross compiling, and strong opinionation on things like code formatting. Docker is also a great tool for defining your development environment in code to ensure that your team members and the CI are all using the same set of tools. Many people use Docker as a way to run application dependencies, like databases, while they’re developing locally and for containerizing their production applications. I’ve been on more than one team where “works on my machine” has been exclaimed or written in all caps on Slack and I’ve spent a lot of time debugging things on the CI which is incredibly painful. You’ll find issues because the version of the tool you’re using is different to that used by someone on your team, or, worse, the CI. This problem continues as you spend more time in the team.

Often there will be an onboarding document of some sort for setting up your environment but in my experience, this is never up to date and you always have to ask someone for help with what tools are needed. This is usually a combination of learning the code base and getting your environment setup. When joining a development team, it takes some time to become productive.
