【问题标题】:Deploying Go 1.6 web app to AWS Elastic Beanstalk?将 Go 1.6 Web 应用程序部署到 AWS Elastic Beanstalk?
【发布时间】:2016-07-06 07:52:34
【问题描述】:

我想将我的网络应用程序部署到弹性 beanstalk,但它似乎只支持 Go 1.4 而不是 Go 1.6。有没有办法获取自定义图像?

我想要 1.6 的原因是因为它支持 vendoring 并且我的 web 应用程序依赖于 3rd 方包。

【问题讨论】:

标签: amazon-web-services go amazon-elastic-beanstalk


【解决方案1】:

最好的选择是使用docker

以下是将应用程序部署到 Elastic Beanstalk 的步骤:

  1. 创建新环境时选择Generic Docker平台。
  2. 在您的项目根目录中放置一个名为Dockerfile 的文件,内容如下:

FROM golang:1.6.2-onbuild
EXPOSE 80

  1. canonical import path 添加到您的main.go。例如,如果你的包名是my/packagemain.go的第一行应该是package main // import "my/package"
  2. 让您的应用程序侦听端口 80
  3. 部署!

【讨论】:

  • 感谢您迄今为止的帮助。我认为上传一个名为 application 的二进制文件是最好的选择。
  • 由于某种原因,我收到错误消息:'/var/app/current/application: /var/app/current/application: cannot execute binary file'。我正在 OSX Yosemite 上编译我的应用程序。是这个问题吗?
  • @ChrisW 这个问题(执行二进制文件时出错)仍然相关吗?
  • @JohnSPerayil 此问题针对此答案的先前版本。它不再相关。
  • Docker 非常棒,只要您不使用需要 Go 1.5+ 的 aws-sdk-go 库,因为 Docker(在 AWS 内)仅限于 Go 1.4
猜你喜欢
  • 2019-03-07
  • 2021-02-11
  • 2018-12-07
  • 2022-06-11
  • 2018-04-21
  • 2017-04-14
  • 2012-07-04
  • 2016-09-05
  • 2015-07-17
相关资源
最近更新 更多