014--docker编译go项目最小化

栏目: Go · 发布时间: 7年前

内容简介:1、使用golang打出来的包太大了,非常占用内存300M+2、使用scratch进行打包操作只有30M+3、最小化包的打包流程

1、参考网址

2、镜像打包

1、使用golang打出来的包太大了,非常占用内存300M+

FROM golang:latest
MAINTAINER Razil "niyuelin1990@163.com"
ENV GOPATH /apps/enzogo/
WORKDIR $GOPATH/src/enzoism/helloEnzo
ADD . $GOPATH/src/enzoism/helloEnzo
EXPOSE 6064
ENTRYPOINT  ["./helloEnzo"]

2、使用scratch进行打包操作只有30M+

FROM scratch
MAINTAINER enzo "https://github.com/enzoism"
ENV GOPATH /apps/enzogo/
WORKDIR /apps/enzogo/src/enzoism/helloEnzo
COPY . /apps/enzogo/src/enzoism/helloEnzo
ADD main /
ENTRYPOINT ["/main"]

3、最小化包的打包流程

  • 1、创建项目:bee new lirong
  • 2、进行静态编译:CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main .
014--docker编译 <a href='https://www.codercto.com/topics/6127.html'>go</a> 项目最小化
  • 3、编译之后会生成一个main可执行文件
014--docker编译go项目最小化
  • 4、编写Dockerfile文件(环境变量+拷贝文件+解压文件+执行脚本)
FROM scratch
MAINTAINER enzo "https://github.com/enzoism"
ENV GOPATH /apps/enzogo/
WORKDIR /apps/enzogo/src/enzoism/helloEnzo
COPY . /apps/enzogo/src/enzoism/helloEnzo
ADD main /
ENTRYPOINT ["/main"]
  • 5、打包镜像

    docker build -t lirong:1.0.0 .

    docker run -id -p 8085:8080 --name lirong lirong:1.0.0

014--docker编译go项目最小化
  • 6、访问网址即可
014--docker编译go项目最小化
  • 7、失败图片展示
014--docker编译go项目最小化

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

颠覆式成长

颠覆式成长

惠特尼•约翰逊 / 张瀚文 / 中信出版集团 / 2018-8 / 49.00

你可能想要标新立异、挑战自我,甚至抛弃安逸的事业; 你可能会从目前的行业或公司中跳槽,进入一个完全陌生的崭新领域, 这本书会让你认识到颠覆式成长的意义所在。 成功没有捷径,颠覆也会令人心生惧意,但是在职业发展与个人成长上的回报,会让你克服这种恐惧,让你不断尝试、不断精进。 S型曲线精进模型将帮助你预测自己创新的成长周期,洞悉颠覆自我过程中的心路历程,在变革与颠覆中从容应对,......一起来看看 《颠覆式成长》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具