我使用交叉编译在Mac上编译Linux版本的二进制文件。
GOOS=linux GOARCH=amd64 go build
也尝试了我在堆栈溢出时发现的另一个命令。
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o targetBinary
此二进制文件可以在Linux VM中运行。但是当我将此二进制文件复制到Linux docker容器并运行它时。它无法运行了。
我的docker文件就是这样
FROM oraclelinux:7.5
COPY targetBinary /
我还使用ldd检查目标,并且docker报告了此结果
[root@7578c118fe27 /]# ldd targetBinary
not a dynamic executable