GolangOnDocker
はじめに
こちらを参照。
goji編
$ go get github.com/zenazn/goji $ go get github.com/zenazn/goji/web
下記のようなgoji_sample.goを作成
package main import ( "fmt" "net/http" "github.com/zenazn/goji" "github.com/zenazn/goji/web" ) func hello(c web.C, w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, %s!", c.URLParams["name"]) } func main() { goji.Get("/hello/:name", hello) goji.Serve() }
動作確認
$ go run goji_sample.go
http://localhost:8000/hello/golang にアクセスすると、Hello, golang!と出る。
$ GOOS=linux GOARCH=amd64 go build goji_sample.go $ tar cvfz /tmp/image.tar.gz ./goji_sample $ cat /tmp/image.tar.gz |docker import - goji_sample
$ docker run -d -p 8000:8000 goji_sample /goji_sample
ゴウランガ!
http://DOCKE_MACHINE_IP:8000/hello/golang
でアクセスできた。
kocha編(未完)
$ go get -u github.com/naoina/kocha $ go get -u github.com/naoina/kocha/cmd/...
ドキュメントはこちら
$ kocha new kocha_sample $ cd $GOPATH/src/kocha_sample
#config/app.go のKOCHA_ADDRを0.0.0.0:9100と書き換える
$ GOOS=linux GOARCH=amd64 kocha build -a $ tar cvfz /tmp/image.tar.gz ./kocha_sample $ cat /tmp/image.tar.gz |docker import - kocha_sample
実行!
$ docker run -d -p 9100:9100 kocha_sample /kocha_sample
はて。なんか404になる。