/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
小森林之主19 小时前
Docker Compose 紧急救援:凌晨3点服务器报警的解决方案
docker·微服务·容器化·docker compose·故障排除
杨了个杨89821 天前
Docker Compose 简介及应用
运维·docker·容器
豆瓣鸡1 天前
XXL-JOB 定时任务——从 Docker 部署到分片广播,分布式任务调度落地
spring boot·分布式·docker·定时任务
Re_Virtual1 天前
基于web的轻量级http测试工具——Restfox
http·docker·开源·restfox
java_logo1 天前
Docker 部署 Home Assistant:在群晖 NAS 或 Linux 上打造家庭智能中枢
linux·docker·容器·homeassistant·轩辕镜像·homeassistant部署·homeassistant教程
极客先躯1 天前
高级java每日一道面试题-2026年04月18日-实战篇[Docker]-如何处理金融行业的时序数据容器化?
java·运维·docker·容器·金融·时序数据·高级面试
杨了个杨89821 天前
docker的网络模式
网络·docker·容器
jackletter1 天前
docker上常用的软件安装
运维·docker·容器
Zhu7581 天前
对docker环境的postgresql数据库做快速初始化
数据库·docker·postgresql