/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
极客先躯1 天前
高级java每日一道面试题-2026年04月05日-实战篇[Docker]-如何排查容器 OOM 的问题?
java·运维·docker·容器·内存溢出·高级面试
镜像车间1 天前
我用飞牛NAS在本地建了一个rhex论坛
docker
极客先躯1 天前
高级java每日一道面试题-2026年04月04日-实战篇[Docker]-如何排查容器存储挂载失败的问题?
java·运维·docker·容器·高级面试
宇晨T1 天前
从零搭建企业级Web服务:Shell脚本 + LNMP + Docker 实战指南
前端·docker·容器
努力进修2 天前
Docker+cpolar 实战:打造灵活可控的远程办公系统
运维·docker·容器
jieyucx2 天前
Docker 入门第一阶段:建立正确认知与初体验
运维·docker·容器
jieyucx2 天前
Docker 入门第二阶段:掌握日常命令
运维·docker·容器
鱼听禅2 天前
Ubuntu学习笔记-安装docker容器
学习·ubuntu·docker
不会C语言的男孩2 天前
Docker 在嵌入式设备中的常用玩法
运维·docker·容器
白日焰火12 天前
Redis 哨兵搭建+ACL权限控制
linux·docker·kubernetes