======== This docker image takes advantage of Gin in order to allow running a Go Application in a Docker container with live reloading. The image is based on the official golang:wheezy image.
In order to enable live reloading, the source folder of your app needs to be linked to /go/src/app
.
Run a docker container with your app in the current folder
docker run --name some-instance-name -v $(pwd):/go/src/app ntboes/golang-gin
If you are using Crane linking the folder app
works as follows
containers:
stratus_app:
image: ntboes/golang-gin
run:
volume: ["app:/go/src/app"]
publish: ["3000:3000"]
detach: false
If you are using Docker Compose linking the folder app
works as follows
web:
image: ntboes/golang-gin
command: gin
ports:
- "3000:3000"
volumes:
- app:/go/src/app
All flags after the image name in the docker command are forwarded to gin, e.g to set the port of gin to 4000:
docker run --name some-instance-name -v $(pwd):/go/src/app ntboes/golang-gin -p 4000
For further info see: Gin or gin -h
.