Golang编译的二进制文件在alpine中无法运行
Posted saynaihe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang编译的二进制文件在alpine中无法运行相关的知识,希望对你有一定的参考价值。
背景:
小伙伴接入了百度超级链数字商品可信登记平台XuperAsset,程序是php 的 要exec 运行xasset-cli的一个可执行程序,but:
尝试了一下无法运行?但是我在ubuntu rockylinux上面尝试了都没有问题,alpine中就是不能运行!
求助了一下万能的搜索引擎:
Golang编译的二进制文件在alpine中无法运行的问题解决
go程序在alpine镜像里无法正常运行
stackoverflow
归根结底就是重新编译可执行文件,设置CGO_ENABLED=0
Golang编译的二进制文件在alpine中无法运行
重新编译可执行文件:
克隆代码仓库:
git clone https://github.com/xuperchain/xasset-sdk-go
下载依赖,并编译可执行文件
cd xasset-sdk-go&&go mod tidy
export CGO_ENABLED=0
cd tools/xasset-cli/
go build -o xasset-cli main.go
alpine环境验证
将可执行文件copy到alpine环境中运行 ok
只是记录一下…
以上是关于Golang编译的二进制文件在alpine中无法运行的主要内容,如果未能解决你的问题,请参考以下文章
golang编写的项目,使用alpine制作镜像遇到的一个问题解决
为啥在 Debian 9 中编译的 golang 二进制文件无法在 Centos 7 中启动?
Go 编译的二进制文件不会在 Ubuntu 主机上的 alpine docker 容器中运行