1.运行环境
工具介绍
go1.13docker环境v19.0.2golandgolang的编辑器
2.准备工作
1.编写一个go程序main.go,。
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func Say(gct
*gin
.Context
){
gct
.JSON(http
.StatusOK
,gin
.H
{
"Title":"忍住~",
})
}
func main() {
r
:=gin
.Default()
r
.GET("/a",Say
)
r
.Run(":8080")
}
2.测试环境是否可用
1.docker -v
2.go version
3.主要操作
1.查看本地环境
1.go
env
由于本地是windows,go build 语句会因为系统环境不同生成不同的启动文件。(在windows中是.exe文件,在linux是二进制可执行文件)而我们需要的是能在docker中运行的二进制文件,所以需要暂时更改环境配置。
1.go env
-w GOOS
=linux #环境所在操作系统
2.go env
-w CGO_ENABLED
=0 #是否开启交叉编译
2.生成所需要的main的二进制文件
go build app/main.go
在src目录下生成一个可见main文件
3.编写DockerFile文件
在src目录下创建一个DockerFile文件,其内容如下。
FROM golang:1.12
WORKDIR /goawesomeProject/src
ADD dockergin /dockergin
COPY
. .
EXPOSE 8080
ENTRYPOINT
[ "/dockergin" ]
注意 dockergin指的是你在生成镜像的镜像名字!!!
4.生成dockergin镜像文件
1.docker build
. -t dockergin:latest
2.docker images
3.make run -p 127.0.0.1:8080:8080 dockergin
4.docker
ps
5.查看服务
在浏览器访问 127.0.0.1:8080/a 端口,查看是否成功实现!