Public | Automated Build

Last pushed: a day ago
Short Description
Heroku Docker Go Image
Full Description

Heroku Go Docker image

For use with the heroku docker plugin.

Image tags

You can see all of the tags here.

The latest tag will generally refer to the latest, possibly unsupported,
release of Go, including betas and release candidates.

Once a final version is cut a separate tag will be used and updated.

App.json

Note: Please read the official documentation here.

To use this image with the heroku docker plugin add the following fields to your
application's app.json file:

{
  "image": "heroku/go:<go version or latest>",
  "mount_dir": "src/<go package name; eg github.com/heroku-examples/go-websocket-chat-demo>",
}

Then run heroku docker:init in your application's directory. This will create
both Dockerfile and docker-compose.yml files.

Note on mount_dir: The go tooling requires that files be located inside
of $GOPATH. The heroku docker plugin and this docker image sets up a $GOPATH
for you, but requires a little help from the developer to determine where to
place your application. The correct value of mount_dir can be determined with
the following command (requires jq):

$ jq -r '"src/" +.ImportPath' < ./Godeps/Godeps.json

Example app.json

Source can be found here.

{
  "name": "Go Websocket Chat Demo",
  "description": "Go websocket chat demo application.",
  "keywords": [
    "streaming",
    "redis",
    "go"
  ],
  "image": "heroku/go:1.5",
  "mount_dir": "src/github.com/heroku-examples/go-websocket-chat-demo",
  "website": "http://github.com/heroku-examples/go-websocket-chat-demo",
  "repository": "http://github.com/heroku-examples/go-websocket-chat-demol",
  "scripts": {},
  "addons": [
    "heroku-redis"
  ]
}

Slug Size

The images are large but the slugs created by heroku docker:release only
include your application's code, dependencies & compiled binaries so should be
relatively small.

Docker Pull Command
Owner
heroku
Source Repository