goをdockerでbuildから起動まで

今回は、とりあえず動くベースでやったのでこの方法を 仕事のサービスでは使わない方がいいです。

https://github.com/oomatomo/go-redirect.git

goで簡単なリダイレクトするプログラムを作ったやつです。 これをdockerを使って起動します。

FROM centos:centos6
MAINTAINER oomatomo ooma0301@gmail.com

RUN rpm -Uhv http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
RUN yum update -y
RUN yum install -y git
# go install
RUN yum install -y golang
RUN mkdir ~/.go
ENV GOPATH /.go

# go build
WORKDIR /usr/local/src/
RUN git clone https://github.com/oomatomo/go-redirect.git
WORKDIR /usr/local/src/go-redirect
RUN go get github.com/cihub/seelog
RUN go build
RUN mv go-redirect /usr/local/bin/

EXPOSE 8080
ENV PORT 8080
CMD ["/usr/local/bin/go-redirect"]

内容は、シンプルです。

  • go言語のinstall
  • コードのclone
  • ライブラリのインストール
  • コードのbuild
  • 起動

ライブラリ管理でGomとか使っていないので、そのまま go get .. で対応しています。

docker-compose.ymlは、こんな感じです。

redirect:
  build: ./redirect
  log_driver: "json-file"
  ports:
    - "8080:8080"