现象
查看二进制
进入镜像去指定目录查看对应链接库根本不存在
解决方法一 静态编译go程序
CGO_ENABLED=0 go build -o vdi-controller ./cmd/main.go
指定系统和设备架构
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o [name of binary]
GOOS=linux GOARCH=aarch64 CGO_ENABLED=0 go build -o [name of binary]
方法二 如在centos下可链接
注:arm下库文件名称不同
在dockerfile文件添加
RUN mkdir /lib64\
&& ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
总结
最好静态编译,一步到位
参考
https://studygolang.com/articles/26851
https://xbuba.com/questions/34729748
网友评论