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下

  1. 构建镜像

docker build -t zcdocker .

出现Successfully build …

说明构成成功。

  1. docker images 查看创建的镜像

  2. docker run -p 8080:8080 -d zcdocker

-p 本机端口:镜像端口

-d 后台运行

  1. 本机访问 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!")

}