/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
上学的小垃圾5 小时前
基于docker安装MySQL(openEuler系统)
linux·mysql·docker·容器
小小程序员.¥13 小时前
docker中redis集群配置
docker
java_logo16 小时前
Docker 部署 HertzBeat:轻松搭建无代理实时监控与告警平台
运维·docker·容器·监控告警·部署教程·hertzbeat·轩辕镜像
子建莫敌17 小时前
Docker 速查手册
docker·容器
雾隐隐o17 小时前
Docker 镜像归档与容器管理
java·docker·eureka
独码侠17 小时前
第02篇·30 分钟跑通 Dify:Docker 一键部署,5 步上线首个 AI 应用
人工智能·docker·容器·dify
纪伊路上盛名在18 小时前
了解一点Docker
java·docker·容器
索西引擎18 小时前
基于 Docker 容器化的 MySQL 数据库部署与访问控制机制研究
数据库·mysql·docker
Csxyzj19 小时前
基于Linux+Docker NAT的Ollama多实例负载均衡部署
运维·docker·容器
瞬间&永恒~19 小时前
【Kubernetes】(十五)维护与升级、ETCD 备份和恢复
linux·运维·docker·云原生·kubernetes