当前位置: 首页 > news >正文

docker run 后报错/bin/bash: /bin/bash: cannot execute binary file

以下方法来源于AI,个人仅验证了第三条便成功执行

1. 镜像与宿主机架构不匹配

比如:

你是 x86_64 的机器,但镜像是 ARM64 的(或反之)。在 PC 上拉了树莓派用的镜像。

查看镜像架构

docker inspect <image_name> | grep Architecture

查看宿主机架构

uname -m

如果不一致,可以用 --platform 参数强制指定:

docker run --platform linux/amd64 -it <image_name> /bin/bash
# 或
docker run --platform linux/arm64 -it <image_name> /bin/bash

前提是 Docker Desktop 或宿主机支持 QEMU 模拟。

2.镜像里根本没有 /bin/bash

有些镜像(比如 alpine)默认没有 Bash,只有 /bin/sh 或 /bin/ash。
解决方法:用 /bin/sh 进入

docker run -it <image_name> /bin/sh

如果需要 Bash,先装:

apk add --no-cache bash   # Alpine
apt-get update && apt-get install -y bash   # Debian/Ubuntu

3. ENTRYPOINT 或 CMD 导致 /bin/bash 被当作数据执行

如果镜像的 ENTRYPOINT 是一个二进制文件,而你又在 docker run 时传了 /bin/bash,可能被错误解释。
解决方法:加--entrypoint

docker run -it --entrypoint /bin/bash <image_name>

4. 镜像文件损坏

下载过程不完整,也可能导致 /bin/bash 不是有效可执行文件。
解决方法:

docker pull --platform <平台> <image_name>  --disable-content-trust
http://www.aitangshan.cn/news/666.html

相关文章:

  • Proteus 9.0 SP2 安装使用图文指南 | EDA电路仿真软件
  • Claude Code使用指南
  • C++ 去除字符串中的控制字符
  • 芯片安全标准驱动库,筑牢芯片功能安全基石
  • windows实现键盘记录
  • Linux 安装 Nginx 并配置为开机自启动
  • 在K8S中,有一种情况,公司希望通过保持最低成本来提高效率和技术运营速度,该公司实该如何现这一目标?
  • 基于MATLAB的单目深度估计神经网络实现指南
  • DLL Injection for Notepad
  • 在K8S中,有一家公司想要修改其部署方法,并希望构建一个可扩展性和响应性更高的平台,该公司要如何实现这一目标以满足他们的客户?
  • 记一次 .NET 某汽车控制焊接软件 卡死分析
  • 在K8S中,我们都知道从单服务到微服务的转变从开发方面解决了问题,但在部署方面却增加了问题,公司该如何解决部署方面的问题?
  • 扣子 Coze 产品体验功能
  • 为什么现在的音乐+图片的多媒体形式的感染力这么强
  • 如何排查CPU占用过高
  • 关于网络性能的命令
  • 在K8S中,有一个公司要向具有各种环境的客户提供所有必需的分发产品的方案,如何看待他们动态地实现这一关键目标?
  • 在K8S中,有一家公司希望在从裸机到公共云的不同云基础架构上运行各种工作负载。在存在不同接口的情况下,该公司将如何实现这一目标?
  • Playwright基础入门篇 (1) | 环境搭建与首个自动化脚本
  • 在K8S中,集群服务暴露失败 如何解决?
  • noip2022
  • noip2023
  • csp2023
  • 酷睿Ultra和i系列有啥区别?怎么选看这几点
  • 在K8S中,pod 状态为 ErrlmagePull 如何解决?
  • 在K8S中,外网无法访问集群提供的服务 如何解决?
  • 2.3 GTK 中的动作(action)概述
  • docker 封装php项目
  • OpenCV入门(17):图像形态学操作
  • M序列 CEVA DSP 实现