Docker勉強会@旭川のLTです。
- Elastic BeanstalkでGoのWebアプリをデプロイ。
- 最初は
eb
コマンドを試す。 aws elasticbeanstalk
コマンドの方が、Low Levelで使い勝手が良いので、そっちを使う。- むしろ、Cloudformationから、Elastic Beanstalkを使ったほうが、痒い所に手が届くので、Cloudformationを勉強し始める。
成果物: https://github.com/smagch/cloudformation-elastic-beanstak-docker-go-example
本当は、Resourceスタックと、Elastic BeanstalkのAppスタックの2つを、マスターテンプレートからネストスタックをデプロイする練習をしたかったけど、今のところはAppスタックしかない。
オフィシャルのgolangイメージの中に、golang:1.3.3-onbuildというやつがあります。
しかし、これではgo-wrapper download
コマンド(つまりgo get
)が実行されて、レポジトリごとソースを引っ張っくるので、遅い。ですので、GodepでVendoringをして、もう一つのGOPATH
を付け加えます。
FROM golang:1.3.3
RUN mkdir -p /go/src/app
WORKDIR /go/src/app
COPY . /go/src/app
ENV GOPATH /go/src/app/Godeps/_workspace:$GOPATH
ENV PATH /go/src/app/Godeps/_workspace/bin:$PATH
EXPOSE 8080
RUN ["go", "install", "."]
CMD ["./bin/start.sh"]