我使用交叉编译在 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