/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
淼澄研学11 小时前
Proliferate开源框架技术解析与Docker部署实操
docker·容器·开源
浪兎兎11 小时前
Docker 容器技术笔记
笔记·docker·容器
Zhu75813 小时前
在Docker环境离线部署最新版Harbor
运维·docker·容器
qq_113601493520 小时前
CopyEscape Docker容器逃逸(CVE-2026-17106)
运维·docker·容器
修先生20 小时前
WisQuery 一套开箱即用、可 Docker 一键部署的 智能问数 + 知识库 + 智能问答 一体化平台
运维·docker·容器
有来技术20 小时前
youlai-boot 实战:MinIO 停止维护,Docker 迁移 RustFS 完整记录
java·后端·docker
Rain的Java大神之路20 小时前
Docker搭建Redis集群完全指南
java·运维·redis·后端·docker·容器·架构
虎王物联20 小时前
Docker Compose一键部署物联网平台:EMQX+InfluxDB+Grafana完整方案
物联网·docker·grafana·emqx
梦想不只是梦与想21 小时前
Docker 安装 MySQL
docker·容器·docker 安装 mysql