こんにちは、株式会社PentagonでエンジニアをしているYamatoです。
たびたびgo言語に触れることがあって都度開発環境を構築していましたが、環境が汚染されるためテンプレートになるdocker環境を構築して、開発できるようにしてみました。
dockerを用いたGo言語のベストプラクティスがあるのかを調査したところ、手順が書いてあるもののそのまま使えるDockerfileが公開されておらず、バージョンも古かったので自分で作りました。
https://github.com/pentagontokyo/template_go_dockeralpine
linuxバージョンのdockerイメージで最新のものを指定しています。latestを指定しても良いと思いますが、案件によってはバージョンを固定運用して、保守時にバージョン更新をせざる負えないときもあるのでバージョンを指定しています。
https://github.com/cespare/reflex をインストールしているのでホットリロードに対応できるようにしてあります。(動作未確認)
reflexの設定は用途によって異なると思うので、Dockerfileに記載していません。