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になる。