2020-09-22 15:11:09 +08:00
|
|
|
# goenv
|
|
|
|
golang environment
|
2020-09-22 16:39:22 +08:00
|
|
|
|
|
|
|
# docker
|
|
|
|
|
|
|
|
## 拉取镜像
|
|
|
|
```
|
|
|
|
docker pull xiaoqidun/goenv:latest
|
|
|
|
```
|
|
|
|
|
2020-09-22 16:45:17 +08:00
|
|
|
## 运行镜像
|
2020-09-22 16:39:22 +08:00
|
|
|
```
|
|
|
|
docker run -it --rm xiaoqidun/goenv
|
|
|
|
```
|
2020-09-22 16:45:17 +08:00
|
|
|
|
|
|
|
# 交叉编译
|
|
|
|
> 以编译android arm64程序为例
|
|
|
|
|
|
|
|
```shell
|
|
|
|
export CC=aarch64-linux-android21-clang
|
|
|
|
export GOOS=android
|
|
|
|
export GOARCH=arm64
|
|
|
|
export CGO_ENABLED=1
|
|
|
|
go build -o main_android_arm64 main.go
|
2020-09-23 14:22:42 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
# 编译项目
|
|
|
|
|
|
|
|
## 将项目文件映射到容器内部
|
|
|
|
```bat
|
|
|
|
docker run --rm -it -v %cd%:/go/src/app -w /go/src/app xiaoqidun/goenv
|
|
|
|
```
|
|
|
|
|
|
|
|
## 在容器内执行命令进行编译
|
|
|
|
```shell
|
|
|
|
export GOOS=windows
|
|
|
|
export GOARCH=amd64
|
|
|
|
export CGO_ENABLED=0
|
|
|
|
go build -o main_windows_amd64.exe main.go
|
2020-09-22 16:45:17 +08:00
|
|
|
```
|