目的
Echoが起動するDockerイメージを作りたい
下調べ
golangにはDockerのOfficialイメージがあるのでそれを使う
https://hub.docker.com/_/golang/
作業ディレクトリを決める
$ cd ~/myapp
確認用ファイルの準備
ガイドを参考に、server.goファイルを作る
https://echo.labstack.com/guide
package main import ( "net/http" "github.com/labstack/echo" ) func main() { e := echo.New() e.GET("/", func(c echo.Context) error { return c.String(http.StatusOK, "Hello, World!") }) e.Logger.Fatal(e.Start(":1323")) }
Dockerfileの編集
Dockerfileを作成する。といっても golang:onbuild
内で
外部ライブラリのインポートなどもしてくれるので最初は1行しか書く必要はない。
FROM golang:onbuild
ビルド
Dockerをビルドする。ここでは echo
とタグをつけておく(なんでもよい)。
docker build -t echo .
起動
docker run --rm -p 127.0.0.1:1323:1323 --name echo echo
確認
以下にアクセスして Hello World!
と表示されたら成功。
Golangの公式Dockerファイルがよろしくやってくれるので、 余計なことしないならプロジェクトのディレクトリ上でdockerビルドするだけでいい感じ。 なんというか別にEcho関係ないやん、という結論に。。