/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 小时前
MacOS彻底清除docker及image
运维·docker·容器
王煜苏2 小时前
最新版idea2025 配置docker 打包spring-boot项目到生产服务器全流程,含期间遇到的坑
java·docker·容器
给算法爸爸上香2 小时前
模型部署在docker中对外提供服务
docker·容器·模型部署·模型推理
q***97914 小时前
从零到上线:Node.js 项目的完整部署流程(包含 Docker 和 CICD)
docker·容器·node.js
hakukun14 小时前
docker避免每次sudo方法
运维·docker·容器
杨凯凡14 小时前
Docker Compose:多容器应用编排入门与实战
运维·docker·容器
C2H5OH66614 小时前
Podman和Docker
docker·容器·podman
毛甘木14 小时前
阿里云CentOS环境下Docker使用教程
阿里云·docker·centos
AAA小肥杨15 小时前
探索K8s与AI的结合:PyTorch训练任务在k8s上调度实践
人工智能·pytorch·docker·ai·云原生·kubernetes