windows平台使用Docker对GO程序打包

windows 平台使用 Docker 对 GO 程序打包(生成 windows 平台下的可执行文件)#

运行以下步骤前,请先确保本机已安装 Docker(该例是在 windows 系统下安装了 Docker Desktop),本文代码及控制台命令均在 vscode 编辑器下进行。#

  • 第一步:
拉取镜像
docker pull golang:1.23.0
  • 第二步:
初始化项目文件夹
docker run --rm -v /c/Docker/golang/compile_example:/app -v /c/Docker/golang/compile_example/go:/go  -w /app go-1.23.0  go mod init complie_example
  • 第三步:
docker run --rm -v /c/Docker/golang/compile_example:/app -v /c/Docker/golang/compile_example/go:/go  -w /app go-1.23.0  go mod tidy
  • 第四步:
    在 C:\Docker\golang\compile_example 下新建 main.go 文件,并将如下代码复制黏贴到 main.go 文件中
package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello windows!!!!!!")
}
  • 第五步 (重点):
docker run --rm -v /c/Docker/golang/compile_example:/app -v /c/Docker/golang/compile_example/go:/go -e CGO_ENABLED=0 -e GOOS=windows -w /app go-1.23.0 go build -o hello_windows.exe main.go

该步骤在 C:\Docker\golang\compile_example 文件夹下生成 hello_windows.exe 文件,在 vscode 的 TERMINAL 中输入

.\hello_windows.exe

就会出现如下字样

Hello windows!!!!!!

打包结束

USER_1997
讨论数量: 4

windows 上直接打包是有什么难点吗?

2个月前 评论
USER_1997 (楼主) 2个月前
老年人 (作者) 2个月前

有点南辕北辙的意思,让一圈又回来原点

1个月前 评论