/bin/bash: cannot execute binary file

容器内部无法执行二进制文件

原因是docker镜像的

入口点不能指向/bin/bash。移除ENTRYPOINT ["/bin/bash"]就足以使其正常工作。

如果是下载的镜像,不能修改ENTRYPOIN,可以使用dockerfile覆盖掉原来的ENTRYPOINT

复制代码
FROM ubuntu
ENTRYPOINT [ "/bin/bash", "-l", "-c" ]

然后就可以运行二进制文件了。

请注意手册页中/bin/bash选项的用途:

  • -l:使bash表现得如同它已被作为登录shell调用一样
  • -c:如果存在-c选项,则从第一个非选项参数command_string中读取命令。如果command_string后面有参数,则将第一个参数分配给$0,并将其余所有参数分配给位置参数。对$0的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
江湖有缘2 小时前
Jump个人仪表盘Docker化部署教程:从0到 搭建专属导航页
运维·docker·容器
Lam㊣2 小时前
Centos 7 系统docker:更换镜像源
linux·docker·centos
挖土机_0083 小时前
Kubernetes 1.35 原地扩容(In-Place Pod Resize)完整解析:机制、差异与实战示例
docker·kubernetes
左直拳4 小时前
将c++程序部署到docker
开发语言·c++·docker
Anyexyz5 小时前
【更新】境内 Docker 镜像状态监控——配置生成,一键复制!
运维·docker·容器
释怀不想释怀6 小时前
Docker(网络)
运维·docker·容器
java_logo8 小时前
QWEN3 企业级 Docker 容器化部署指南
运维·docker·容器·qwen3部署·qwen3部署文档·qwen3部署教程·qwen3部署方案
taihexuelang9 小时前
大模型部署
人工智能·docker·容器
释怀不想释怀10 小时前
Docker(项目部署)
运维·docker·容器
计算机小手11 小时前
Docker 部署 weserv-images:打造非侵入式图片处理中间件
图像处理·经验分享·docker·中间件