docker打包golang应用的过程分析

在本地环境编译,然后将可执行程序放入 alpine(docker.io/alpine:latest),1.准备web程序,2.dockerfile,3.构建镜像,4.将在本地生成将demo/go-hello:1.o镜像,docker打包golang应用的过程分析,5.创建并运行容器,docker打包golang应用的过程分析,原因:编译的hello二进制程序不是存静态程序,还依赖一些库,但这些库在alpine镜像中找不到。,需要放入alpine镜像里运行的go程序,可以直接使用golang:alpine来编译,但我们在golang:alpine基础上再构建一个镜像,这个镜像中包含bash、GO111MODULE、GOPROXY等环境变量。,1.dockerfile,2.构建自己的go编译镜像,docker打包golang应用的过程分析,3.运行go-build:1.0 镜像,编译go项目代码:,生成了hello可执行文件,且为纯静态的。,docker打包golang应用的过程分析,将编译得到的hello二进制打入alpine:latest,dockerfile2,5.打包,6.运行demo/go-hello:1.0,docker打包golang应用的过程分析,scratch为空镜像,适合那些没有任何外部依赖的程序,刚好前面的hello程序没有任何依赖!,1.dockerfile3,2.构建,3.以scratch为基础构建出来的镜像是最小的,docker打包golang应用的过程分析,运行,docker打包golang应用的过程分析,目录结构,docker打包golang应用的过程分析,dockerfile
返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册