/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
i***51261 小时前
springboot整合libreoffice(两种方式,使用本地和远程的libreoffice);docker中同时部署应用和libreoffice
spring boot·后端·docker
Brown.alexis1 小时前
docker安装redis7
运维·docker·容器
Java陈序员2 小时前
精致简约!一款优雅的开源云盘系统!
mysql·docker·开源·go·云盘
青靴2 小时前
从单机到集群:Docker 数据卷在高可用日志平台中的实战指南
运维·docker·容器
l***37094 小时前
Docker部署Spring Boot + Vue项目
vue.js·spring boot·docker
玖疯子4 小时前
Docker 极简入门实战大纲
docker
百***35486 小时前
后端在微服务中的Docker
java·docker·微服务
来旺8 小时前
互联网大厂Java面试实战:核心技术栈与业务场景深度解析
java·spring boot·docker·kubernetes·mybatis·hibernate·microservices
h***34639 小时前
docker desktop安装redis
redis·docker·容器
z***39629 小时前
docker网络模式及配置
网络·docker·php