/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
小小洋洋12 小时前
OpenWrt 从U盘迁移到内置 eMMC,并完成扩容与 Docker 安装
java·docker·eureka
Eloudy13 小时前
docker build 与 docker buildx build 的应用场景
docker·构建
瞬间&永恒~13 小时前
【Docker】(三)联合文件系统UnionFS + Overlay2
docker·云原生·容器
数据知道16 小时前
主机入侵检测(HIDS):OSSEC / Wazuh 部署与规则编写
安全·网络安全·docker
逐光老顽童17 小时前
第 5 章:搞懂 K8s Service:从 ClusterIP 到负载均衡
docker·云原生·容器
花生了什么事o19 小时前
Docker 部署 SpringBoot:从镜像构建到服务器运行
服务器·spring boot·docker
Eloudy19 小时前
国内加速 docker pull 下载 docker images,特别是 nvidia 的cuda image
docker·gpu·rdma
Chief_fly19 小时前
ARM 麒麟系统服务器构建docker镜像
运维·服务器·docker
yj_xqj2 天前
Docker 基础应用与介绍
运维·docker·容器
AOwhisky2 天前
Docker 深度集成 WasmEdge:容器与 Wasm 的边界正在消失
docker·容器·wasm