/docker-golang-gin

A Docker image for a development environment with go and gin

Primary LanguageShellMIT LicenseMIT

Docker Image for Golang development with Gin

======== 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.

Usage

In order to enable live reloading, the source folder of your app needs to be linked to /go/src/app.

Docker

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

Crane

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

Docker Compose

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

Arguments

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.