gpt4 book ai didi

linux - Golang Mac OSX 为 Docker 机器构建

转载 作者:IT老高 更新时间:2023-10-28 21:39:12 27 4
gpt4 key购买 nike

我需要在 Docker 机器上运行 Golang 应用程序。

我在 Mac OSX 上工作,而 Docker 在 Linux 虚拟机之上工作,因此在 Mac 上构建的二进制文件无法在 Docker 上运行。

我在这里看到了两种方式:

  1. 在 Mac 上为 Linux 操作系统交叉编译二进制文件
  2. 将项目源代码复制到 docker,在其上运行“go get”和“go build”

第一个很难,因为 CGO(在一些导入的库中使用)。

由于 'go get' 操作,Second 非常慢。

你能告诉我,在那种情况下哪种方式最常见?还是我做错了什么?

最佳答案

这里有一个解决方案,即使使用 CGO,也可以让交叉编译变得 super 简单。

在浪费大量时间获取新的 Windows 构建服务器来构建我的 Go 应用程序后,我最近偶然发现了它。现在我只是在我的 Mac 上编译它,然后用它创建一个 Linux 构建服务器:

https://github.com/karalabe/xgo

非常感谢 Péter Szilágyi 别名 karalabe 提供了这个非常棒的软件包!

使用方法:

  • 让 Docker 运行
  • 去获取 github.com/karalabe/xgo
  • xgo --targets=windows/amd64 ./

还有更多选择!

-- 编辑--

差不多 3 年后我不再使用这个了,但是我在基于 linux 的 CD 管道中构建我的应用程序的 docker 镜像仍然基于 xgo 中使用的 docker 镜像。

关于linux - Golang Mac OSX 为 Docker 机器构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35997995/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com