Skip to main content

简单的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