/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的赋值设置外壳的名称,该名称用于警告和错误消息。
相关推荐
GlueNa2SiO316 小时前
10-Docker生产环境部署与K8s入门
笔记·学习·docker·容器·kubernetes
蜀道山老天师17 小时前
Zabbix监控Docker容器应用实践完整指南
linux·运维·docker·容器·zabbix
星空17 小时前
WordPress在docker中部署
运维·docker·容器
wsad053218 小时前
CentOS Stream 10 Docker 容器无法访问外网:xt_addrtype 内核模块缺失解决方法
linux·网络·docker·云原生·eureka·centos
怦怦蓝18 小时前
Windows 安装 Docker Desktop 踩坑完整实战指南(WSL2 故障排错实录)
windows·docker·容器
看-是灰机19 小时前
Harbor Framework
docker
康娜喵19 小时前
在Ubuntu26上使用Docker部署Gitea
docker·容器·gitea
东宇科技19 小时前
我用docker创建了一个springboot4项目
阿里云·docker·容器
梦梦代码精1 天前
连锁品牌数字化:从门店扩张到用户资产运营的技术底座
大数据·人工智能·低代码·docker·开源·代码规范
InfinitePlus1 天前
Docker MySQL搭建一主一从
mysql·docker