Deploying Go 1.6 web app to AWS Elastic Beanstalk?

2019-04-12 19:55发布

问题:

I want to deploy my web app to elastic beanstalk but it appears to only support Go 1.4 rather than Go 1.6. Is there a way to get a custom image?

The reason I want 1.6 is because it supports vendoring and my web app depends on 3rd party packages.

回答1:

The best choice would be to use docker.

Here are the steps to deploy your application to Elastic Beanstalk:

  1. Choose the Generic Docker platform when creating a new environment.
  2. Put a file named Dockerfile in your project root with the following content:

FROM golang:1.6.2-onbuild
EXPOSE 80

  1. Add a canonical import path to your main.go. For example, if your package name is my/package the first line of main.go should be package main // import "my/package"
  2. Make your application listen on port 80
  3. Deploy!