1. 安装docker
2. mkdir myDocker
3. cd myDocker && touch Dockerfile
4. Dockerfile写入
# 将golang环境作为父镜像
FROM golang MAINTAINER Razil "zc6496359" WORKDIR $GOPATH/src/godocker ADD . $GOPATH/src/godocker RUN go build main.go EXPOSE 8080 ENTRYPOINT ["./main"]
参数解释:
FROM -> 母镜像 MAINTAINER -> 维护者信息 WORKDIR -> 工作目录 ADD -> 将文件复制到镜像中 RUN -> 执行操作(就跟在终端执行语句一样) EXPOSE -> 暴露端口 ENTRYPOINT -> 程序入口
5. 编写main.go 文件 放在myDocker下
6. 构建镜像
docker build -t zcdocker .
出现Successfully build …
说明构成成功。
7. docker images 查看创建的镜像
8. docker run -p 8080:8080 -d zcdocker
-p 本机端口:镜像端口
-d 后台运行
9. 本机访问 localhost:8080/zc 返回Hello Docker Form Golang!则成功
main.go 内容如下
package main import( "net/http" "fmt" ) func main() { http.HandleFunc("/zc",hello) http.ListenAndServe(":8080",nil) } func hello(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w,"Hello Docker Form Golang!") }