/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
Hellc00725 分钟前
Docker网络冲突排查与解决方案:完整指南
网络·docker·容器
hanyi_qwe41 分钟前
发布策略 【K8S (三)】
docker·容器·kubernetes
眠りたいです1 小时前
Docker核心技术和实现原理第二部分:docker镜像与网络原理
运维·网络·docker·容器
德育处主任1 小时前
『NAS』在群晖部署图片压缩工具-Squoosh
前端·javascript·docker
Mr. Cao code2 小时前
Docker数据管理:持久化存储最佳实践
java·docker·容器
盛夏5204 小时前
Docker容器化部署SpringBoot+Vue项目:从零到一在阿里云宝塔面板的实践指南
阿里云·docker·云计算
鲨莎分不晴5 小时前
Docker 网络深度解析:打破容器的“孤岛效应”
网络·docker·容器
拔剑纵狂歌5 小时前
helm-cli安装资源时序报错问题问题
后端·docker·云原生·容器·golang·kubernetes·腾讯云
techzhi5 小时前
Docker & Docker Compose 安装方案
docker·容器·eureka
喵叔哟6 小时前
19.服务集成与通信
后端·docker·容器·服务发现