本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

go-mingw Docker 镜像下载 - 轩辕镜像

go-mingw 镜像详细信息和使用指南

go-mingw 镜像标签列表和版本信息

go-mingw 镜像拉取命令和加速下载

go-mingw 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

go-mingw
x1unix/go-mingw

go-mingw 镜像详细信息

go-mingw 镜像标签列表

go-mingw 镜像使用说明

go-mingw 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

用于构建Go Windows二进制文件的Docker镜像,支持Windows on Arm及32/64位架构,提供简单的跨编译环境,基于***Go镜像并集成MinGW-w64工具链。
2 收藏0 次下载activex1unix镜像

go-mingw 镜像详细说明

go-mingw 使用指南

go-mingw 配置说明

go-mingw 官方文档

go-mingw

![Docker Hub]([] ![Docker Hub]([] ![GitHub]([***]

基于***Go Docker镜像,集成MinGW-w64工具链,用于构建Windows平台Go二进制文件的Docker镜像。提供针对Windows 32位、64位及Arm架构的简单跨编译环境。

支持Windows on Arm架构!

核心功能与特性

  • 基于***Go镜像,确保Go环境的稳定性与兼容性
  • 集成MinGW-w64工具链,支持Windows平台跨编译
  • 支持多架构目标:Windows 32位(x86)、64位(x86-64)及Arm(arm64)
  • 兼容amd64和arm64/aarch64主机架构
  • 可自定义Go链接器和编译器标志
  • 支持构建缓存,提升重复构建效率

支持的架构

以下是支持的主机与目标架构列表:

主机架构Win x86Win x86-64Win on Arm
arm64 / aarch64
amd64

使用场景

  • 为Windows平台开发Go应用程序的跨平台构建
  • 需要同时支持Windows 32位、64位和Arm架构的Go项目
  • CI/CD流程中集成Windows二进制文件的自动化构建
  • 在非Windows环境(如Linux、macOS)中构建Windows可执行文件

使用方法

拉取镜像

可从Docker Hub拉取指定Go版本的镜像:

shell
docker pull x1unix/go-mingw:latest # 或指定版本如"1.21"获取特定Go版本

[!提示] 开始使用前,建议先查看示例项目。

在容器内构建Go应用

挂载应用源代码目录并执行构建:

shell
docker run --rm -it -v /本地源代码路径:/go/work \
    -w /go/work \
    x1unix/go-mingw go build .

构建完成后将生成Windows可执行文件。

Windows on Arm构建

设置GOARCH=arm64环境变量以构建ARM架构Windows二进制文件:

shell
docker run --rm -it -e GOARCH=arm64 -v /本地源代码路径:/go/work \
    -w /go/work \
    x1unix/go-mingw go build .

32位工具链构建

要构建32位可执行文件,设置GOARCH=386环境变量:

shell
docker run --rm -it -e GOARCH=386 -v /本地源代码路径:/go/work \
    -w /go/work \
    x1unix/go-mingw go build .

[!提示] 更多构建示例可查看项目示例。

Go链接器标志覆盖

可通过-e选项设置容器环境变量来指定Go链接器和编译器标志。

示例:

shell
docker run --rm -it \
    -e LDFLAGS="-linkmode external -extldflags '-static -s -w'" \
    -v /本地源代码路径:/go/work \
    -w /go/work \
    x1unix/go-mingw go build .

输出文件所有权

默认情况下,Go容器以root用户运行,生成的文件将属于root:root用户。

如需设置当前用户所有权,可使用-u标志指定用户/组ID:

shell
# 以当前用户ID/组ID启动容器
docker run --rm -it -u "$UID:$GID" ...

[!重要] 对于非root用户,建议挂载主机的GOPATH和GOCACHE目录。

Go构建缓存

为加速构建并保留Go构建缓存,建议挂载本地Go构建缓存目录或创建专用Docker卷。

挂载本地GOPATH:

shell
docker run --rm -it \
    -u $UID \
    -v /本地源代码路径:/go/work \
    -v $(go env GOCACHE):/go/cache \
    -e GOCACHE=/go/cache \
    -w /go/work \
    x1unix/go-mingw go build .

使用Docker卷:

shell
# 创建Docker卷
docker volume create go-cache

# 使用卷运行容器
docker run --rm -it \
    -v /本地源代码路径:/go/work \
    -v go-cache:/go/cache \
    -e GOCACHE=/go/cache \
    -w /go/work \
    x1unix/go-mingw go build .

[!提示] 更多信息请参见Docker卷文档。

Go模块缓存

除构建缓存外,还可挂载Go模块缓存以避免重复下载依赖。可挂载GOPATH或Go模块目录($GOPATH/pkg)。

构建自定义Docker镜像

可本地重建指定Go版本的镜像:

shell
make image GO_VERSION=1.20

[!重要] 将1.20替换为所需的Go版本。

参考致谢

  • llvm-mingw - 提供Windows on Arm支持
  • mingw-w64 - 提供Windows x86和amd64支持
  • Go开发团队

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"