2 回答
TA贡献1852条经验 获得超1个赞
dockeralpine镜像是一个简约的 Linux 版本 - 使用musl-libc代替glibc- 并且通常用于构建微小的镜像。
要获得更多功能glibc- 并解决您缺少CGO的依赖项 - 使用 Docker 映像的非高山版本golang来构建您的资产:
#FROM golang:1.14.4-alpine AS build
#RUN apk add build-base
FROM golang:1.14.4 AS build
TA贡献1821条经验 获得超4个赞
您是否构建了依赖项?
您必须运行脚本才能在 Linux 上构建依赖项。脚本:https ://github.com/discord/lilliput/blob/master/deps/build-deps-linux.sh
他们的文件提到:
建立依赖关系
Go 不提供任何用于任意构建依赖项的机制,例如调用 make 或 cmake。为了使 lilliput 可用作标准 Go 包,已为 lilliput 在 Linux 和 OSX 上的所有依赖项提供了预构建的静态库。为了自动化这个过程,lilliput 附带了构建脚本以及其依赖源的压缩档案。这些构建脚本是为 OSX 和 Linux 提供的。
如果它仍然失败,那么问题可能与问题有关,glibc-musl
因为 alpine 图像有musl libc
而不是glibc
(GNU 的 libc)。因此,您可以尝试使用 Ubuntu/CentOS/等。最小的图像或找到一种glibc
上高山的方法。
- 2 回答
- 0 关注
- 134 浏览
添加回答
举报