/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
Joren的学习记录9 小时前
【Linux运维大神系列】docker详解(四)
linux·运维·docker
louqle11 小时前
docker基本知识及常用命令汇总
运维·docker·容器
叫致寒吧11 小时前
Docker
运维·docker·容器
杨浦老苏12 小时前
现代流媒体聚合播放器冬瓜TV MAX
docker·群晖·多媒体
l1t13 小时前
用docker安装oracle 19c
运维·数据库·docker·oracle·容器
weixin_4624462314 小时前
【原创实践】Docker 镜像批量导出镜像与导入镜像
运维·docker·容器
qq75903536615 小时前
Docker快速部署一款堡垒机系统
运维·docker·容器
天下不喵17 小时前
python项目部署之pytandic与.env的使用教程
python·docker
芥子沫18 小时前
Docker安装Blossom笔记
笔记·docker·容器
qq75903536618 小时前
docker一键部署网页版Win11系统
运维·docker·容器