Docker部署Golang

--write by zhuwx 2019-11-17 10:03:02 +0800 CST

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!")

}