/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 小时前
Docker学习笔记:后端、数据库和反向代理怎么一起跑起来
后端·nginx·docker·postgresql·go·部署
叶帆2 小时前
【YFIOs】Docker方式部署
运维·docker·容器
岳来3 小时前
Docker 的 --privileged 特权模式学习
docker·容器·--privileged
NiceCloud喜云7 小时前
IntelliJ IDEA 保姆级安装 + ClaudeAPI 配置教程
java·开发语言·前端·ide·chrome·docker·intellij-idea
咖啡里的茶i7 小时前
在Docker环境中安装Hadoop cluster
docker
AOwhisky8 小时前
Docker 学习笔记:镜像分发、容器运行与资源限制
笔记·学习·docker
跨境数据猎手9 小时前
反向海淘代购系统 Docker + Kubernetes
docker·容器·kubernetes
冷小鱼9 小时前
从 Docker 到容器编排:框架选型与指令详解实战指南
运维·docker·容器·k8s·docker compose·docker swarm
Cat_Rocky9 小时前
K8S-HPA水平扩缩容
docker·容器·kubernetes
ziqi52211 小时前
Docker容器镜像管理、制作
运维·docker·容器