内容简介:1、使用golang打出来的包太大了,非常占用内存300M+2、使用scratch进行打包操作只有30M+3、最小化包的打包流程
1、参考网址
- 最小包编译: https://www.jb51.net/article/129003.htm
- 最小包: https://studygolang.com/articles/12670?fr=sidebar
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 .
- 3、编译之后会生成一个main可执行文件
- 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
- 6、访问网址即可
- 7、失败图片展示
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 最小化技术平台的构建(11.7)
- 最小化交易系统 工厂方法 + 策略模式
- 构建安全、可靠、最小化的 Docker 镜像
- 使用定制的JRE最小化Docker镜像
- 最小化DevOps自动化流程(Golang)
- vagrant在最小化DevOps中的作用
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。