简单的web版本
第一步. 简单Web例子
package main
import (
"net/http"
)
func main() {
http.HandleFunc("/", SayHello)
http.ListenAndServe(":8080", nil)
}
func SayHello(w http.ResponseWriter, req *http.Request) {
w.Write([]byte("hello 老铁"))
}
第二步. 交叉编译生成Linux系统可执行的文件
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build web.go
第三步. Dockerfile 文件
FROM alpine:3.5
MAINTAINER 66500852@qq.com
EXPOSE 8080
RUN mkdir /data
COPY web /data
CMD ["nohup","/data/web","&"]
第四步. 生成镜像
docker build -t 66500852/go_web:1 . -f Dockerfile
第五步. 运行
docker run -i -t -p 8080:8080 66500852/go_web:1
总结:
alpine:3.5 空间占用是4MB,生成的web 空间占用是7MB,生成的镜像大小是11.4MB