美文网首页
014--docker编译go项目最小化

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

作者: 糖纸疯了 | 来源:发表于2018-11-04 16:03 被阅读17次

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 .
  • 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、失败图片展示

相关文章

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

    1、参考网址 最小包编译:https://www.jb51.net/article/129003.htm 最小包:...

  • 编译go项目

    go build 常见编译选项: 参数说明-o可执行文件名-a强制重新编译所有包-p并行编译所使用的CPU核数量-...

  • gomobile 编译

    背景 接触go之后,编译了一个用go写的项目,准备编译成aar,在Android 工程中使用。这里记录下,编译时候...

  • 部署go环境

    1、go环境变量 GOROOT go在电脑中的安装位置 GOPATH go项目存放目录 GOBIN go编译的安...

  • Go Quick

    编译 go build 在当前项目根目录下执行编译命令go build,会在当前路径下生成可执行文件。 使用以GO...

  • 《Go语言四十二章经》第八章 Go项目开发与编译

    《Go语言四十二章经》第八章 Go项目开发与编译 作者:李骁 8.1 项目结构 Go的工程项目管理非常简单,使用目...

  • liteide 创建 GO 项目

    前置条件:安装 GO的编译工具 开始新建GO项目。 文件 --》新建image.png 选择 “Go1 Comma...

  • 交叉编译 Go 项目

    Windows 下 cmd : PowerShell : linux 下 bash: 可选项 GOOSGOARCH...

  • go-day1

    Go 命令 go build :编译Go程序 go build -o "xx.exe" :编译成xx.exe文件 ...

  • pcap.h No such file or directory

    在linux x86机器上 编译go 项目没问题,代码移到arm机器上 编译出现 /pkg /mod/github...

网友评论

      本文标题:014--docker编译go项目最小化

      本文链接:https://www.haomeiwen.com/subject/ncilxqtx.html