首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在docker容器内执行二进制文件,但可从主机执行

无法在docker容器内执行二进制文件,但可从主机执行
EN

Stack Overflow用户
提问于 2019-03-16 02:08:33
回答 1查看 213关注 0票数 2

我有一个基于composer:1.8(基于php:7-alpine)的docker容器。

在容器中,我通过php下载了一个tar.gz,解压缩并解压,这样就可以正常工作了。它包含了我想要执行的Go二进制文件。当在docker容器中执行二进制文件时,我得到这个错误消息:./bin/<binary>: No such file or directory。在我的主机上,我可以很好地执行这个在docker容器中下载的二进制文件。

如果这很重要,我会用:docker run -it --rm --volume=$PWD:/usr/src/myapp -u $(id -u):$(id -g) --name ec ec /bin/bash启动停靠容器

我也试着在安装readelf -a <binary>之后运行它,但没有任何效果。

代码语言:javascript
运行
复制
bash-4.4$ ls -l <binary> && echo userid: $(id -u) && echo groupid: $(id -g) && uname -om && ./<binary>
-rwxr-xr-x    1 1000     985        7582050 Mar 15 17:09 <binary>
userid: 1000
groupid: 985
x86_64 Linux
bash: ./<binary>: No such file or directory

我能做些什么来让它工作呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-16 16:56:34

这是因为二进制文件是使用glibc编译的,而阿尔卑斯是使用musl编译的。我使用它在构建时传递我的二进制文件CGO_ENABLED=0环境变量

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55188481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档