docker的安装就不介绍了,直接从Go项目部署来介绍
由于Go支持交叉编译,可以根据自己不同的环境要求,编译出不同环境的可执行文件。
在IDE中命令窗口执行以下命令,可以指定编译打包后的可执行文件为linux环境
go env -w GOOS=linux GOARCH=amd64
设置完指定的配置后,执行一下命令进行打包
// 设置打包后的别名为app
go build -o app main.go
将打包好的linux环境的可执行文件上传至服务器
将Dockerfile也一同上传至同级目录,Dockerfile如下:
FROM alpine:3.12
RUN mkdir "/app"
WORKDIR "/app"
//将app二进制文件复制到容器中
COPY app /app/app
//由于该项目需要读取同级目录下的配置文件,所以一同将配置文件一同上传至容器中
COPY config.yaml /app/config.yaml
//给容器中的新建文件夹进行授权,否则可能会报无操作权限
RUN chmod +x /app/app
//执行二进制文件
ENTRYPOINT ["./app"]
接下来是进入服务器当前文件路径下,执行一下命令进行镜像打包
docker build -t goImage .
镜像制作好后,就可以根据创建好的镜像运行容器了,最后执行一下命令
docker run -d --net=host --restart=always -p 8080:8080 --name go -itd goImage
goLand配置环境参数
GOPROXY=https://goproxy.cn,direct;GOSUMDB=off;GONOSUMDB=*;GO111MODULE=on