go build 打包二进制执行文件与 用docker打包(镜像image) 入门

一、go打包而进驻文件

1、安装go环境

我们可以从官方 https://go.dev/dl
下载对应系统的go安装文件。
我这里是 mac系统,x86架构,所以我选择了
go build 打包二进制执行文件与 用docker打包(镜像image) 入门_第1张图片
安装完成后执行一下 go version 输出如下:

go version go1.19.7 darwin/amd64

2、新建一个实验目录

mkdir hello && cd hello && touch main.go

3、打开main.go 补充代码

package main

func main() {
    println("hello world , hi")
}

4、build打包一个可执行二进制文件 hello

go build -o hello ./main.go

此时我们用tree命令查看一下目录:

➜  hello git:(master) ✗ tree
.
├── hello
└── main.go

0 directories, 2 files

生成了一个 hello的二进制可执行文件
go build 打包二进制执行文件与 用docker打包(镜像image) 入门_第2张图片

5、执行一下

➜  hello git:(master) ✗ ./hello                    
hello world , hi

二、本地打包的环境与版本以及各种依赖问题

我们发现,在这里,我们打包的时候,首先下载了 go的环境。
如果我们是一个团队,有很多成员,那么首先就需要每个人的环境,都得一致,
这样打包后的文件才能一样。
如果go版本不一致的话,那么比我的事1.14,其他热的1.19,如果用了新的方法,他在本地发现能用,但同样的代码,到我这就不能用了。

三、docker打包

如果大家都用docker打包,在docker里面配置一样的环境和版本,就可以解决上面的问题。
我们先把 hello 这个文件删掉,只留下 main.go,如下:

➜  hello git:(master) ✗ tree                       
.
└── main.go

0 directories, 1 file

image.png

1、生成Dockerfile文件

touch Dockerfile

2、安装打包go的开发环境与版本

在Dockerfile增加如下代码:

#go环境
FROM golang:1.19

你可能感兴趣的:(go)