一、部署简单web应用(Dockerfile方式)

1.准备项目

package main


import (

   "fmt"

   "net/http"

)


func Hello(w http.ResponseWriter, r *http.Request) {

   w.Write([]byte("hello world"))

}


func main() {

   http.HandleFunc("/", Hello)

   fmt.Println("正在监听8080端口")

   http.ListenAndServe("0.0.0.0:8080", nil)


}

2.创建Dockerfile并配置

FROM golang:latest             #镜像名称:版本号


WORKDIR $GOPATH/src/test

COPY . $GOPATH/src/test

RUN go build .


EXPOSE 8000

ENTRYPOINT ["./test"]

3.构建镜像

注意:在项目根目录运行


打包为镜像:docker build -t 镜像名称 .


成功标志:Successfully

4.创建并运行容器

docker run -p 8000:8000 前面构建的镜像名称

二、部署beego项目

1.准备项目

2.创建Dockerfile并配置

FROM golang:1.9.1


# Install beego and the bee dev tool*

RUN go get github.com/astaxie/beego && go get github.com/beego/bee


EXPOSE 8080


CMD ["bee", "run"]

3.构建镜像

注意:在项目根目录运行


打包为镜像:docker build -t 镜像名称 .


成功标志:Successfully

4.创建并运行容器

docker run -p 8000:8000 前面构建的镜像名称

三、微服务项目部署

1.准备项目:导出对应操作系统的

2.创建Dockerfile并配置

WORKDIR /home/go/src/micro_srv_userRUN nohup ./micro_srv_user &ENTRYPOINT ["./micro_srv_user"]

3.构建镜像

注意:在项目根目录运行


打包为镜像:docker build -t 镜像名称 .


成功标志:Successfully

4.创建并运行容器

docker run -p 8000:8000 前面构建的镜像名称