/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
jingshaoqi_ccc32 分钟前
ubuntu 24下面安装docker
ubuntu·docker·eureka
关关长语1 小时前
Vue本地部署包快速构建为Docker镜像
前端·vue.js·docker
水滴与鱼2 小时前
DOCKER制作ROS运行的镜像文件
运维·docker·容器
杨浦老苏5 小时前
安全的消息传递和协作工具Virola Messenger
docker·即时通讯·群晖·im
jason成都7 小时前
emqx的docker部署
运维·docker·容器
mixboot8 小时前
docker 国内镜像源
docker·镜像源
java_logo8 小时前
Milvus GUI ATTU Docker 容器化部署指南
运维·数据库·docker·容器·eureka·milvus
眠晚晚9 小时前
云上攻防-Docker-堡垒机安全详解
安全·web安全·网络安全·docker·容器
我叫唧唧波9 小时前
【自动化部署】基于Docker构建CI/CD流水线
ci/cd·docker·node.js
weixin_46689 小时前
K8S-高可用集群
java·docker·kubernetes