GoのHTTPアプリをDockerイメージに
SparkRDDのノードをDockerで運用することになったのでついでに久しぶりに使うDockerの基本的なところをおさらい。
Goで簡単なHTTPサーバーを立ち上げる
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
_, _ = fmt.Fprint(w, "Hello World")
})
_ = http.ListenAndServe(":3000", nil)
}
localhost:3000にHello Worldが表示されるはずです。
$ curl http://localhost:3000
# Hello World
Dockerfileを書く
FROM golang:latest
COPY main.go /go/src
WORKDIR /go/src
RUN go build main.go
EXPOSE 3000
CMD ["./main"]
続く…